L2JMobius
Public Development => Solved/Invalid Bug Reports => Topic started by: dregspan on October 25, 2022, 01:52:35 PM
-
Hi ~ Good day ~ I have a error message report !
When i was in tano canyon ~ Gameserver has error on screen !
Please help ~ thank you ~ :) :)
**********************************************************************************************************************
Oct 25, 2022 6:11:15 PM org.l2jmobius.gameserver.model.events.EventDispatcher notifyToListeners
WARNING: EventDispatcher: Exception during notification of event: OnCreatureSkillFinishCast listener: ConsumerEventListener
java.lang.NullPointerException: Cannot invoke "org.l2jmobius.gameserver.model.WorldObject.isCreature()" because the return value of "org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillFinishCast.getTarget()" is null
at handlers.effecthandlers.TriggerSkillBySkill.onSkillUseEvent(TriggerSkillBySkill.java:81)
at handlers.effecthandlers.TriggerSkillBySkill.lambda$onStart$0(TriggerSkillBySkill.java:70)
at org.l2jmobius.gameserver.model.events.listeners.ConsumerEventListener.executeEvent(ConsumerEventListener.java:44)
at org.l2jmobius.gameserver.model.events.EventDispatcher.notifyToListeners(EventDispatcher.java:225)
at org.l2jmobius.gameserver.model.events.EventDispatcher.notifyEventImpl(EventDispatcher.java:198)
at org.l2jmobius.gameserver.model.events.EventDispatcher.notifyEvent(EventDispatcher.java:82)
at org.l2jmobius.gameserver.model.events.EventDispatcher.notifyEvent(EventDispatcher.java:68)
at org.l2jmobius.gameserver.model.skill.SkillCaster.triggerCast(SkillCaster.java:882)
at org.l2jmobius.gameserver.model.actor.Player.addItem(Player.java:3419)
at org.l2jmobius.gameserver.model.actor.Player.doAutoLoot(Player.java:4417)
at org.l2jmobius.gameserver.model.actor.Player.doAutoLoot(Player.java:4428)
at org.l2jmobius.gameserver.model.actor.Attackable.doItemDrop(Attackable.java:1142)
at org.l2jmobius.gameserver.model.actor.Attackable.doItemDrop(Attackable.java:1058)
at org.l2jmobius.gameserver.model.actor.Attackable.calculateRewards(Attackable.java:513)
at org.l2jmobius.gameserver.model.actor.Creature.doDie(Creature.java:1690)
at org.l2jmobius.gameserver.model.actor.Npc.doDie(Npc.java:911)
at org.l2jmobius.gameserver.model.actor.Attackable.doDie(Attackable.java:289)
at org.l2jmobius.gameserver.model.actor.status.CreatureStatus.reduceHp(CreatureStatus.java:188)
at org.l2jmobius.gameserver.model.actor.status.NpcStatus.reduceHp(NpcStatus.java:57)
at org.l2jmobius.gameserver.model.actor.status.AttackableStatus.reduceHp(AttackableStatus.java:59)
at org.l2jmobius.gameserver.model.actor.Creature.reduceCurrentHp(Creature.java:4707)
at org.l2jmobius.gameserver.model.actor.Attackable.reduceCurrentHp(Attackable.java:263)
at org.l2jmobius.gameserver.model.actor.Creature.doAttack(Creature.java:4543)
at handlers.effecthandlers.EnergyAttack.instant(EnergyAttack.java:164)
at org.l2jmobius.gameserver.model.skill.Skill.applyEffectScope(Skill.java:1219)
at org.l2jmobius.gameserver.model.skill.Skill.applyEffects(Skill.java:1313)
at org.l2jmobius.gameserver.model.skill.Skill.applyEffects(Skill.java:1265)
at org.l2jmobius.gameserver.model.skill.Skill.activateSkill(Skill.java:1465)
at org.l2jmobius.gameserver.model.skill.Skill.activateSkill(Skill.java:1421)
at org.l2jmobius.gameserver.model.skill.SkillCaster.callSkill(SkillCaster.java:618)
at org.l2jmobius.gameserver.model.skill.SkillCaster.finishSkill(SkillCaster.java:538)
at org.l2jmobius.gameserver.model.skill.SkillCaster.run(SkillCaster.java:220)
at org.l2jmobius.commons.threads.RunnableWrapper.run(RunnableWrapper.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
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:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
**********************************************************************************************************************
-
Check if OnCreatureSkillFinishCast target is null.
diff --git dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByMagicType.java dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByMagicType.java
index f232648..4548f16 100644
--- dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByMagicType.java
+++ dist/game/data/scripts/handlers/effecthandlers/TriggerSkillByMagicType.java
@@ -79,7 +79,13 @@
private void onSkillUseEvent(OnCreatureSkillFinishCast event)
{
- if (!event.getTarget().isCreature())
+ WorldObject target = event.getTarget();
+ if (target == null)
+ {
+ return;
+ }
+
+ if (!target.isCreature())
{
return;
}
@@ -94,7 +100,7 @@
return;
}
- WorldObject target = null;
+ target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getCaster(), event.getTarget(), _skill.getSkill(), false, false, false);
diff --git dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java
index 661e2d4..b58c808 100644
--- dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java
+++ dist/game/data/scripts/handlers/effecthandlers/TriggerSkillBySkill.java
@@ -78,12 +78,18 @@
private void onSkillUseEvent(OnCreatureSkillFinishCast event)
{
- if (!event.getTarget().isCreature())
+ if (_castSkillId != event.getSkill().getId())
{
return;
}
- if (_castSkillId != event.getSkill().getId())
+ WorldObject target = event.getTarget();
+ if (target == null)
+ {
+ return;
+ }
+
+ if (!target.isCreature())
{
return;
}
@@ -93,7 +99,7 @@
return;
}
- WorldObject target = null;
+ target = null;
try
{
target = TargetHandler.getInstance().getHandler(_targetType).getTarget(event.getCaster(), event.getTarget(), _skill.getSkill(), false, false, false);
-
Thank you sir ~ I'll try it ~
:D
And another question ~
When I'm using auto-hunting to attack monsters, my character is often inactive, but the monster is right in front of me .
video link :
1. https://ibb.co/6XQ5nwT
2. https://ibb.co/p46NZ43
-
Probably geodata issue
Thank you sir ~ I'll try it ~
:D
And another question ~
When I'm using auto-kill to attack monsters, my character is often inactive, but the monster is right in front of me .
-
Probably geodata issue
Sir ~ I have put the map package in the folder ~ :'(
-
It was fixed on private version recently.
Will take some months to reach free version.
-
It was fixed on private version recently.
Will take some months to reach free version.
ok~~ thanks for your reply and help :D
-
Fixed with https://bitbucket.org/MobiusDev/l2j_mobius/commits/cc7eaf90e5c813c38ba6c69c8bb26ab596ecd375