Page 1 of 1

L2Attackable.doDie Error :S

Posted: Fri Feb 17, 2012 9:01 pm
by t-dat0r
Hello, sorry my English is bad.
I need your help, in my server console displays the following error:
L2SummonInstance: callSkill() failed.
java.lang.ClassCastException: com.l2jserver.gameserver.model.actor.instance.L2Su
mmonInstance cannot be cast to com.l2jserver.gameserver.model.actor.instance.L2P
cInstance
at com.l2jserver.gameserver.model.actor.L2Attackable.doDie(L2Attackable.
java:642)
at com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance.doDie
(L2MonsterInstance.java:161)
at com.l2jserver.gameserver.model.actor.status.CharStatus.reduceHp(CharS
tatus.java:189)
at com.l2jserver.gameserver.model.actor.status.NpcStatus.reduceHp(NpcSta
tus.java:51)
at com.l2jserver.gameserver.model.actor.status.AttackableStatus.reduceHp
(AttackableStatus.java:49)
at com.l2jserver.gameserver.model.actor.L2Character.reduceCurrentHp(L2Ch
aracter.java:6868)
at com.l2jserver.gameserver.model.actor.L2Attackable.reduceCurrentHp(L2A
ttackable.java:520)
at com.l2jserver.gameserver.model.actor.L2Attackable.reduceCurrentHp(L2A
ttackable.java:462)
at handlers.skillhandlers.Mdam.useSkill(Mdam.java:162)
at com.l2jserver.gameserver.model.actor.L2Character.callSkill(L2Characte
r.java:6517)
at com.l2jserver.gameserver.model.actor.L2Character.onMagicHitTimer(L2Ch
aracter.java:6193)
at com.l2jserver.gameserver.model.actor.L2Character$MagicUseTask.run(L2C
haracter.java:2664)
at com.l2jserver.gameserver.ThreadPoolManager$RunnableWrapper.run(Thread
PoolManager.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


also this:
Failed executing HitTask.
java.lang.ClassCastException
Can you help?

attached my file here

Re: L2Attackable.doDie Error :S

Posted: Fri Feb 17, 2012 9:30 pm
by Zoey76
Replace doDie(..) method with:

Code: Select all

@Override    public boolean doDie(L2Character killer)    {        // Kill the L2NpcInstance (the corpse disappeared after 7 seconds)        if (!super.doDie(killer))            return false;                try        {            final L2PcInstance player = killer.getActingPlayer();            if (player != null)            {                player.setKills(player.getKills() + 1);                                if(player.getKills() >= 300 || player.getKills() == 0)                {                //ANTIBOT                //Random image file name                int imgId = IdFactory.getInstance().getNextId();                //Convertion from .png to .dds, and crest packed send                try                {                    File captcha = new File("data/captcha/captcha.png");                        ImageIO.write(generateCaptcha(), "png", captcha);                    PledgeCrest packet = new PledgeCrest(imgId, DDSConverter.convertToDDS(captcha).array()); //Convertion to DDS where is antybot                    killer.sendPacket(packet);                }                catch (Exception e)                {                        _log.warning(e.getMessage());                }                //Paralyze, abnormal effect, invul, html with captcha output and start of the 1 min counter                killer.startAbnormalEffect(AbnormalEffect.REAL_TARGET);                killer.setIsParalyzed(true);                killer.setIsInvul(true);                adminReply.setHtml("<html><head><title>Anti-Bot System</title></head><body><center>Ingresa el codigo de 5-Digitos y confirma.<br><img src=\"Crest.crest_" + Config.SERVER_ID + "_" + imgId + "\" width=256 height=64><br><font color=\"888888\">(Solo hay letras en mayuscula.)</font><br><edit var=\"antibot\" width=110><br><button value=\"Confirmar\" action=\"bypass -h voice .antibot $antibot\" width=80 height=26 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"><br><br>Tienes 5 minutos para responder correctamente<br1>Si te equivocas o no contestas iras a Jail!</center></body></html>");                killer.sendPacket(adminReply);                player.setCode(finalString);                ThreadPoolManager.getInstance().scheduleGeneral(new CaptchaTimer(player, 3600000);//60sec                player.setCodeRight(false);                     finalString.replace(0, 5, "");                //ANTIBOT                }                                // Notify the Quest Engine of the L2Attackable death if necessary                if (getTemplate().getEventQuests(Quest.QuestEventType.ON_KILL) != null)                    for (Quest quest: getTemplate().getEventQuests(Quest.QuestEventType.ON_KILL))                        ThreadPoolManager.getInstance().scheduleEffect(new OnKillNotifyTask(this, quest, player, killer instanceof L2Summon), _onKillDelay);            }        }        catch (Exception e)        {            _log.log(Level.SEVERE, "", e);        }        return true;    }
I'd like to know how this post is a Website suggestion? :roll:

I'll move it later, probably after you give an answer.

Re: L2Attackable.doDie Error :S

Posted: Sat Feb 18, 2012 3:20 am
by t-dat0r
Forgiveness is the only place where I left the forum post: (

tanks for you answer :)