L2JMobius

Free Users => Solved/Invalid Bug Reports => Topic started by: JkDev on October 06, 2020, 02:14:47 AM

Title: Q501_ProofOfClanAlliance: null
Post by: JkDev on October 06, 2020, 02:14:47 AM
hello, today they were testing the quests when suddenly the server crashed and threw the following errors:

Code: [Select]
[05/10 21:54:42] /home/jkdev/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:8996)
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.skillhandlers.Mdam.useSkill(Mdam.java:115)
at org.l2jmobius.gameserver.model.actor.Creature.callSkill(Creature.java:8110)
at org.l2jmobius.gameserver.model.actor.Creature.onMagicHitTimer(Creature.java:7484)
at org.l2jmobius.gameserver.model.actor.Creature$MagicUseTask.run(Creature.java:2900)
at org.l2jmobius.commons.concurrent.RunnableWrapper.run(RunnableWrapper.java:38)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
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)

[05/10 21:54:42] Q501_ProofOfClanAlliance: null

I wanted to know if there is a fix for this, in advance thanks!

I leave registration link:
https://pastebin.com/An7muVzj (https://pastebin.com/An7muVzj)

java0.log
https://pastebin.com/Sj5T33Ur (https://pastebin.com/Sj5T33Ur)
Title: Re: Q501_ProofOfClanAlliance: null
Post by: Mobius on October 06, 2020, 02:21:28 AM
Try this.
Code: [Select]
Index: dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java
===================================================================
--- dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java (revision 7672)
+++ 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());
  }
 }
Title: Re: Q501_ProofOfClanAlliance: null
Post by: JkDev on October 06, 2020, 08:46:05 PM
Try this.
Code: [Select]
Index: dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java
===================================================================
--- dist/game/data/scripts/quests/Q501_ProofOfClanAlliance/Q501_ProofOfClanAlliance.java (revision 7672)
+++ 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());
  }
 }

So far it works perfect, thanks!
Title: Re: Q501_ProofOfClanAlliance: null
Post by: Mobius on October 06, 2020, 09:13:06 PM
Fixed with https://bitbucket.org/MobiusDev/l2j_mobius/commits/fe5e81187c1d456347c1a2428e328155e85a1e5c