Java.lang.IllegalArgumentException: object is not an instance of declaring class

1 resposta
A

Esse e o erro completo
O arquivo funciona normal so que fica dando esse erro cada vez que eu entro no game (E um jogo) e a cada alguns segundos se a proteção que isso e uma proteção estiver desativada nao da o erro

java.lang.IllegalArgumentException: object is not an instance of declaring class


        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.l2jdesire.crypt.nProtect.sendGameGuardQuery(nProtect.java:141)
        at com.l2jdesire.gameserver.network.serverpackets.GameGuardQuery.writeIm
pl(GameGuardQuery.java:48)
        at com.l2jdesire.gameserver.network.serverpackets.L2GameServerPacket.wri
te(L2GameServerPacket.java:42)
        at com.l2jdesire.netcore.SelectorThread.putPacketIntoWriteBuffer(Selecto
rThread.java:627)
        at com.l2jdesire.netcore.SelectorThread.prepareWriteBuffer(SelectorThrea
d.java:599)
        at com.l2jdesire.netcore.SelectorThread.writePacket(SelectorThread.java:
515)
        at com.l2jdesire.netcore.SelectorThread.run(SelectorThread.java:182)

esse e o meu codigo

package com.l2jdesire.protection.bin;  
  
import java.util.Map;  
  
import javolution.util.FastMap;  
  
  
  
import com.l2jdesire.gameserver.model.actor.instance.L2PcInstance.PunishLevel;  
import com.l2jdesire.gameserver.model.entity.Announcements;  
import com.l2jdesire.gameserver.network.Disconnection;  
import com.l2jdesire.gameserver.network.L2GameClient;  
import com.l2jdesire.gameserver.network.serverpackets.GameGuardQuery;  
import com.l2jdesire.gameserver.network.serverpackets.LeaveWorld;  
import com.l2jdesire.gameserver.network.serverpackets.NpcHtmlMessage;  
import com.l2jdesire.gameserver.thread.LoginServerThread;  
import com.l2jdesire.gameserver.thread.ThreadPoolManager;  
import java.util.logging.Logger;  
import com.l2jdesire.protection.ProtectConfig;  
  
  
  
public class GameGuardManager {  
   private static final Logger _log = Logger.getLogger("ProtectSystem");  
   private static GameGuardManager _instance = null;  
   private Map<Integer,Integer> _sessions;  
   public static GameGuardManager getInstance() throws Exception {  
      if(_instance==null)  
       _instance = new GameGuardManager();  
      return _instance;  
   }  
   @SuppressWarnings("unused")  
   private GameGuardManager() throws Exception {  
      _sessions = new FastMap<Integer, Integer>();   
      _log.info("ProtectSystem: GameGuard manager...initialized");  
   }  
   public static void sendRequest(L2GameClient cl) {  
      cl.sendPacket(new GameGuardQuery());  
   }  
   public static boolean checkGameGuardQuery(L2GameClient cl, int [] reply)  {  
      try {  
      if((reply[3] & 0x4) == 4 ) {  
         if(ProtectConfig.ANNOUNCE_HACK_ATTEMPT && cl.getActiveChar()!=null)  
            Announcements.getInstance().announceToAll("Player "+cl.getActiveChar().getName()+" tentativas nao autorizadas de usar o programa!");  
         if (ProtectConfig.ON_HACK_ATTEMPT.startsWith("jail") && cl.getActiveChar()!=null)  
         {  
            Announcements.getInstance().announceToAll("Para isso, ele foi enviado para batizar.");  
            cl.getActiveChar().setPunishLevel(PunishLevel.JAIL, 9999);  
         }  
         else if (ProtectConfig.ON_HACK_ATTEMPT.startsWith("ban") )   
         {  
            Announcements.getInstance().announceToAll("Para isso, ele recebeu a oportunidade de se familiarizar com o Antharas");  
            LoginServerThread.getInstance().sendAccessLevel(cl.getAccountName(),0);  
            cl.close(new LeaveWorld());  
         } else   
            cl.close(new LeaveWorld());  
         _log.warning("ProtectSystem: "+cl+" hacking attempt!!");  
         return false;  
      }  
      reply[3] = reply[3] & 0xFFFFFF00;  
      cl.getSessionId().clientKey = reply[0];   
      if(ProtectConfig.NPROTECT_KEY != reply[3]) {  
         if(ProtectConfig.LOG_INVALID_LOGONS)  
         {  
            if(ProtectConfig.ANNOUNCE_NON_PROTECT && cl.getActiveChar()!=null)  
            {  
               Announcements.getInstance().announceToAll("&#1048;&#1075;&#1088;&#1086;&#1082; "+cl.getActiveChar().getName()+" tentando entrar no jogo com um software rachado");     
            }  
            _log.warning("ProtectSystem: "+cl+" logged in with invalid server key");  
              
         }  
           
         NpcHtmlMessage msg = new NpcHtmlMessage(5,"<html><body><center><br><br> No seu computador nao esta definido <br><font color=\"LEVEL\">Full Team Protective System</font></center></body></html>");  
         cl.sendPacket(msg);  
         ThreadPoolManager.getInstance().scheduleGeneral(new Disconnection(cl.getActiveChar()), 30000);  
         return false;  
      }  
      return true;  
      } catch(Exception e) {  
         return true;  
      }  
   }  
   public int startSession(int key) {  
      synchronized (_sessions) {   
         if(_sessions.get(key)==null)  
            _sessions.put(key,0);  
         _sessions.put(key,_sessions.get(key)+1);  
      }  
      return _sessions.get(key);  
   }  
   public static void closeSession(L2GameClient cl) {  
      try {  
         getInstance().closeSession(cl.getSessionId().clientKey);  
           
      } catch(Exception e) {  
           
      }  
   }  
   public void closeSession(int key) {  
      synchronized (_sessions) {   
         if(_sessions.get(key)==null)  
            _sessions.put(key,0);  
         else if(_sessions.get(key)>0) {  
            _sessions.put(key,_sessions.get(key)-1);  
             _log.info("ProtectSystem: Session "+String.format("%X",key)+" closed");  
         }  
      }  
        
   }  
     
}

1 Resposta

thiago_pco

E ai Axcel?

Cara o erro eh referente a um objeto que o método espera. Está vindo um objeto de tipo diferente.

Posta a classe GameGuardQuery.

Criado 28 de abril de 2013
Ultima resposta 29 de abr. de 2013
Respostas 1
Participantes 2