L2JMobius

C6 Quest errors while killing mobs

G-hamsteR · 2 · 5233

Online G-hamsteR

  • Viscount
  • *****
    • Posts: 333
Hello,

While killing random mobs, I'm getting errors from quests, even though I haven't started them. For example, I killed some mobs called Lizardman and I received an error from the quest Proof of Alliance (Q501_ProofOfClanAlliance).

Not only have I not started the quest, but I don' even have a clan. The same happens while killing some spiders outside of Gludio, which triggers another quest.
This seems too common for noone else to notice, so maybe it's not a bug and it's just related to me. I recently performed a database wipe, removing all information related to characters, but it's like that I'm receiving any other error. character_quests table has also been emptied.

I don't know if it's relevant, but I was doing the Q337_AudienceWithTheLandDragon quest for Antharas when these errors appeared.

Example error while killing HARIT LIZARDMAN SHAMAN (id 20644)
Code: [Select]
Jul 26, 2020 11:35:55 AM org.l2jmobius.gameserver.model.quest.Quest showError
WARNING: /root/server/game/data/scripts/quests/QuestMasterHandler.java
java.lang.NullPointerException
at quests.Q501_ProofOfClanAlliance.Q501_ProofOfClanAlliance.getClanLeaderQuestState(Q501_ProofOfClanAlliance.java:560)
at quests.Q501_ProofOfClanAlliance.Q501_ProofOfClanAlliance.onKill(Q501_ProofOfClanAlliance.java:448)
at org.l2jmobius.gameserver.model.quest.Quest.notifyKill(Quest.java:527)
at org.l2jmobius.gameserver.model.actor.Attackable.doDie(Attackable.java:536)
at org.l2jmobius.gameserver.model.actor.instance.MonsterInstance.doDie(MonsterInstance.java:191)
at org.l2jmobius.gameserver.model.actor.status.CreatureStatus.reduceHp(CreatureStatus.java:245)
at org.l2jmobius.gameserver.model.actor.status.NpcStatus.reduceHp(NpcStatus.java:49)
at org.l2jmobius.gameserver.model.actor.Creature.reduceCurrentHp(Creature.java:9093)
at org.l2jmobius.gameserver.model.actor.Attackable.reduceCurrentHp(Attackable.java:481)
at org.l2jmobius.gameserver.model.actor.Attackable.reduceCurrentHp(Attackable.java:414)
at org.l2jmobius.gameserver.handler.admincommandhandlers.AdminKill.kill(AdminKill.java:143)
at org.l2jmobius.gameserver.handler.admincommandhandlers.AdminKill.useAdminCommand(AdminKill.java:117)
at org.l2jmobius.gameserver.network.clientpackets.SendBypassBuildCmd.runImpl(SendBypassBuildCmd.java:78)
at org.l2jmobius.gameserver.network.clientpackets.GameClientPacket.run(GameClientPacket.java:55)
at org.l2jmobius.gameserver.network.GameClient.run(GameClient.java:837)
at org.l2jmobius.commons.concurrent.RunnableWrapper.run(RunnableWrapper.java:38)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)


Example error while killing a spider outside Gludio:
Code: [Select]
Jul 26, 2020 11:43:27 AM org.l2jmobius.gameserver.model.quest.Quest showError
WARNING: /root/server/game/data/scripts/quests/QuestMasterHandler.java
java.lang.NullPointerException
at quests.Q039_RedEyedInvaders.Q039_RedEyedInvaders.onKill(Q039_RedEyedInvaders.java:233)
at org.l2jmobius.gameserver.model.quest.Quest.notifyKill(Quest.java:527)
at org.l2jmobius.gameserver.model.actor.Attackable.doDie(Attackable.java:536)
at org.l2jmobius.gameserver.model.actor.instance.MonsterInstance.doDie(MonsterInstance.java:191)
at org.l2jmobius.gameserver.model.actor.status.CreatureStatus.reduceHp(CreatureStatus.java:245)
at org.l2jmobius.gameserver.model.actor.status.NpcStatus.reduceHp(NpcStatus.java:49)
at org.l2jmobius.gameserver.model.actor.Creature.reduceCurrentHp(Creature.java:9093)
at org.l2jmobius.gameserver.model.actor.Attackable.reduceCurrentHp(Attackable.java:481)
at org.l2jmobius.gameserver.model.actor.Attackable.reduceCurrentHp(Attackable.java:414)
at org.l2jmobius.gameserver.handler.admincommandhandlers.AdminKill.kill(AdminKill.java:143)
at org.l2jmobius.gameserver.handler.admincommandhandlers.AdminKill.useAdminCommand(AdminKill.java:117)
at org.l2jmobius.gameserver.network.clientpackets.SendBypassBuildCmd.runImpl(SendBypassBuildCmd.java:78)
at org.l2jmobius.gameserver.network.clientpackets.GameClientPacket.run(GameClientPacket.java:55)
at org.l2jmobius.gameserver.network.GameClient.run(GameClient.java:837)
at org.l2jmobius.commons.concurrent.RunnableWrapper.run(RunnableWrapper.java:38)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:832)


Online Mobius

  • Distinguished King
  • *****
    • Posts: 16047
Make different posts for different quests.

Q501_ProofOfClanAlliance
Code: [Select]
Index: dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java
===================================================================
--- dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java (revision 7463)
+++ dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java (working copy)
@@ -557,11 +557,17 @@
  public QuestState getClanLeaderQuestState(PlayerInstance player, NpcInstance npc)
  {
  final Clan clan = player.getClan();
+ if (clan == null)
+ {
+ return null;
+ }
+
  final PlayerInstance leader = clan.getLeader().getPlayerInstance();
  if (leader == null)
  {
  return null;
  }
+
  return leader.getQuestState(getName());
  }
 }

Q039_RedEyedInvaders
Code: [Select]
Index: dist/game/data/scripts/quests/Q039_RedEyedInvaders/Q039_RedEyedInvaders.java
===================================================================
--- dist/game/data/scripts/quests/Q039_RedEyedInvaders/Q039_RedEyedInvaders.java (revision 7463)
+++ dist/game/data/scripts/quests/Q039_RedEyedInvaders/Q039_RedEyedInvaders.java (working copy)
@@ -229,10 +229,13 @@
  if ((partyMember != null) && (npcId != MAILLE_LIZARDMAN))
  {
  final QuestState st = partyMember.getQuestState(getName());
- final int[] list = SECOND_DP.get(npcId);
- if (st.dropItems(list[0], 1, 30, list[2]) && (st.getQuestItemsCount(list[1]) == 30))
+ if (st != null)
  {
- st.set("cond", "5");
+ final int[] list = SECOND_DP.get(npcId);
+ if (st.dropItems(list[0], 1, 30, list[2]) && (st.getQuestItemsCount(list[1]) == 30))
+ {
+ st.set("cond", "5");
+ }
  }
  }
  }