All pastes #24623 Raw Edit

Something

public java v1 · immutable
#24623 ·published 2005-10-04 20:32 UTC
rendered paste body
Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/Config.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/Config.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/Config.java	(working copy)@@ -328,6 +328,7 @@     /** Deep Blue Mobs' Drop Rules Enabled */     public static final boolean DEEPBLUE_DROP_RULES;     public static final int UNSTUCK_INTERVAL;+    public static final int CHAR_DELETE_TIME;          // telnet enabled     public static final boolean         IS_TELNET_ENABLED;@@ -523,6 +524,7 @@                          STARTING_ADENA = Integer.parseInt(otherSettings.getProperty("StartingAdena", "100"));             UNSTUCK_INTERVAL = Integer.parseInt(otherSettings.getProperty("UnstuckInterval", "300"));+            CHAR_DELETE_TIME = Integer.parseInt(otherSettings.getProperty("CharDeleteTime", "5"));         }         catch (NullPointerException e) {             e.printStackTrace();Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/ClientThread.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/ClientThread.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/ClientThread.java	(working copy)@@ -146,7 +146,41 @@ 			clan.removeClanMember(cha.getName()); 	} -	public void deleteChar(int charslot) throws Exception+    /**+     * Marks char as deleted, sets deletettime field+     * @param charslot+     */+    public void markDeleted(int charslot)+    {+        int objid = getObjectIdForSlot(charslot);+        if (objid < 0)+            return;+        +        java.sql.Connection con = null;+        try +        {+            con = L2DatabaseFactory.getInstance().getConnection();+            PreparedStatement statement = con.prepareStatement("UPDATE characters SET deletetime = ? WHERE obj_Id=?");+            statement.setLong(1, System.currentTimeMillis()+(60000*60*24*Config.CHAR_DELETE_TIME));+            statement.setInt(2, objid);+            statement.execute();+            statement.close();+        }+        catch (Exception e)+        {+            _log.warning("Error while marking char as deleted: " + e);+        } +        finally +        {+            try { con.close(); } catch (Exception e) {}+        }+    }+    +    /**+     * Delete char+     * @param objid+     */+	public void deleteChar(int objid) 	{	 		//have to make sure active character must be nulled 		if (getActiveChar() != null)@@ -156,7 +190,6 @@ 			_activeChar = null; 		} -		int objid = getObjectIdForSlot(charslot);         if (objid < 0)             return; Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/CharacterDelete.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/CharacterDelete.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/clientpackets/CharacterDelete.java	(working copy)@@ -55,7 +55,7 @@  		try 		{-			getClient().deleteChar(_charSlot);+			getClient().markDeleted(_charSlot); 		} 		catch (Exception e) 		{Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/model/L2PcInstance.java	(working copy)@@ -296,7 +296,7 @@ 	private int _accessLevel;  	private boolean _messageRefusal = false;    // message refusal mode-	private boolean _isInGmlist = false;        // show gm gm-li+	private boolean _isInGmlist = false;        // show in gm list 	 	public boolean _exploring = false; @@ -4358,6 +4358,13 @@ 		// Calculate Henna modifiers of this L2PcInstance         recalcHennaStats(); +        /*+        HennaInfo hi = new HennaInfo(this);+        sendPacket(hi);+        +        UserInfo ui = new UserInfo(this);+        sendPacket(ui);+        */     }  	/**@@ -5434,7 +5441,7 @@             out.writeObject(getSaveList()); // Write the entire pathNodeMap of Positions             out.flush(); // Always flush the output.             out.close(); // And close the stream.-            sendPacket(SystemMessage.sendString("Path Node table saved to: L2J/pathnode/"+fileName+".bin"));+            sendPacket(SystemMessage.sendString("Path Node table saved to: pathnode/"+fileName+".bin"));         }         catch (Exception e)         {Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/model/CharSelectInfoPackage.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/model/CharSelectInfoPackage.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/model/CharSelectInfoPackage.java	(working copy)@@ -113,10 +113,26 @@ 	{ 		return _deleteTimer; 	}-	public void setDeleteTimer(int deleteTimer)++	public void setDeleteTimer(long deleteTimer) 	{-		_deleteTimer = deleteTimer;+		long currentTimestamp = System.currentTimeMillis();+        int estimated = 0;+        +        if(currentTimestamp < deleteTimer && deleteTimer > 0) // still alive :P+        {+            estimated = Math.abs((int)(deleteTimer - currentTimestamp)/1000);+        }+        else if(currentTimestamp > deleteTimer && deleteTimer > 0) // w00t, time to kill tat fuggin char+        {+            _deleteTimer = -1;+            //System.out.println("Char deletion time arrived, bye bye!");+        }+        +        //System.out.println("Char deletion infoz, estimated: "+ estimated +" delete timer: "+deleteTimer+" current timestamp: "+currentTimestamp);+        _deleteTimer = (estimated); 	}+ 	public long getLastAccess() 	{ 		return _lastAccess;Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java	(working copy)@@ -112,6 +112,9 @@ import net.sf.l2j.gameserver.handler.usercommandhandlers.Loc; import net.sf.l2j.gameserver.handler.usercommandhandlers.Time; import net.sf.l2j.gameserver.handler.voicedcommandhandlers.kill;+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.movement;+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.set;+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.castle; import net.sf.l2j.gameserver.idfactory.IdFactory; import net.sf.l2j.gameserver.lib.JBForth; import net.sf.l2j.gameserver.model.AutoChatHandler;@@ -418,6 +421,9 @@  		_voicedCommandHandler = VoicedCommandHandler.getInstance(); 		_voicedCommandHandler.registerVoicedCommandHandler(new kill());+        _voicedCommandHandler.registerVoicedCommandHandler(new set());+        _voicedCommandHandler.registerVoicedCommandHandler(new castle());+        _voicedCommandHandler.registerVoicedCommandHandler(new movement());         _log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");  		_gmList = GmListTable.getInstance();Index: C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/serverpackets/CharSelectInfo.java===================================================================--- C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/serverpackets/CharSelectInfo.java	(revision 1184)+++ C:/eclipse-31m7/workspace/c4/L2_GameServer/java/net/sf/l2j/gameserver/serverpackets/CharSelectInfo.java	(working copy)@@ -188,7 +188,9 @@             while (charList.next())// fills the package             {                 charInfopackage = restoreChar(charList);-                characterList.add(charInfopackage);+                +                if(charInfopackage != null)+                    characterList.add(charInfopackage);             }              charList.close();@@ -233,7 +235,7 @@              charInfopackage.setRace(chardata.getInt("race"));             charInfopackage.setClassId(chardata.getInt("classid"));-            charInfopackage.setDeleteTimer(chardata.getInt("deletetime"));+            charInfopackage.setDeleteTimer(chardata.getLong("deletetime"));             charInfopackage.setLastAccess(chardata.getLong("lastAccess"));         }         catch (Exception e)@@ -241,6 +243,12 @@ 			_log.log(Level.INFO, "", e);         }         +        if(charInfopackage.getDeleteTimer() == -1)+        {+            getClient().deleteChar(charInfopackage.getObjectId());+            return null;+        }+                 return charInfopackage;     }