Jump to content

Recommended Posts

Posted

nop, theres an unclosed connecton in my code. go to ColorNameManager.loadValues and at the botton of the method add

try{ if(con != null) con.close(); } catch(Exception e){ if(Config.DEBUG) e.printStackTrace(); }

 

where exactly i must add this? cause i am a little stupid in java

Posted

where exactly i must add this? cause i am a little stupid in java

 

go to ColorNameManager.java

find the method called public static void loadValues()

at the end of the method (before the last " } " ), add the

code i posted

Posted

symbol  : variable Config
location: class com.l2jserver.gameserver.model.actor.appearance.ColorNameManager
try{ if(con != null) con.close(); } catch(Exception e){ if(Config.DEBUG) e.printStackTrace(); }
		                                           ^

 

this is the error i see now when i try to add the code that you told me in the end of the method

  • 2 months later...
Posted

System.out.println("ColorNameManager: Loaded " + _pvpColor.size() + " colors for pvp kills!");

System.out.println("ColorNameManager: Loaded " + _pkColor.size() + " colors for pk kills!");

 

try

   {

if(con != null) con.close();

}

catch(Exception e)

   {  

}

}

 

This is my code after this fix but still i have unclosed connection when i relog a char with pvp/pk color.Can u help me BB ?

 

Ah forgot to ask u say in ur last post "public static void loadValues()" but in the script is "public void loadValues()" is that a problem?

  • 2 weeks later...
Posted

I try to use it but as i see from posts i have some of the problems.1st how can i remove primary key and second pls write the fix us a code here pls cause i dodn't understans what you try to tell :/ (i don't understand verygood english so i'm a little stupid :P)

  • 4 weeks later...
Posted

B1ggBoss Here you can put the diff with the changes already made?

 

(Puedes postear aqui el diff con los cambios ya echos?

B1ggBoss eres un monstruo y perdon por eres XDDD. Gracias un autentico genio!)

Posted

look for com.l2jserver.gameserver.model.actor.appearance.ColorNameManager.java

 

and replace it for:

/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.model.actor.appearance;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Set;

import com.l2jserver.L2DatabaseFactory;

import javolution.util.FastMap;

/**
* @author BiggBoss
*/
public class ColorNameManager
{
   private static FastMap<Integer, String> _pvpColor = new FastMap<Integer, String>();
   private static FastMap<Integer, String> _pkColor = new FastMap<Integer, String>();
   
   private ColorNameManager()
   {
   }
   
   public static ColorNameManager getInstance()
   {
      return SingletonHolder._cne;
   }
   
   /**
    * Will load all pvp count with their respective color at server start up
    * Also will set up the higher pvp/pk count rank for future purposes
    */
   public void loadValues()
   {
      Connection con = null;
      try
      {
         _pvpColor.put(0, "FFFFFF");
         _pkColor.put(0, "FFFFFF");
         con = L2DatabaseFactory.getInstance().getConnection();
         PreparedStatement pvpStatement = con.prepareStatement("SELECT * FROM pvp_color_nick WHERE type = ?");
         pvpStatement.setString(1, "pvp");
         
         ResultSet pvpRset = pvpStatement.executeQuery();
         while(pvpRset.next())
         {
            _pvpColor.put(pvpRset.getInt("pvppk_count"), pvpRset.getString("color"));
         }
         pvpRset.close();
         pvpStatement.close();
         
         PreparedStatement pkStatement = con.prepareStatement("SELECT * FROM pvp_color_nick WHERE type = ?");
         pkStatement.setString(1, "pk");
         
         ResultSet pkRset = pkStatement.executeQuery();
         while(pkRset.next())
         {
            _pkColor.put(pkRset.getInt("pvppk_count"), pkRset.getString("color"));
         }
         pkRset.close();
         pkStatement.close();
      }
      catch(SQLException sqle)
      {
         sqle.printStackTrace();
      }
      finally
      {
         try
         {
            if(con != null)
               con.close();
         }
         catch(Exception e)
         {
            e.printStackTrace();
         }
      }
      System.out.println("ColorNameManager: Loaded " + _pvpColor.size() + " colors for pvp kills!");
      System.out.println("ColorNameManager: Loaded " + _pkColor.size() + " colors for pk kills!");
   }
   
   /**
    * Returns a string-representative with the color of the rank
    * @param kills
    * @param forPvp
    * @return a String containing the Hexadecimal color
    */
   public String getColor(int kills, boolean forPvp)
   {
      String color = "";
      if(forPvp)
         color = _pvpColor.get(getValueBefore(kills, _pvpColor.keySet()));
      else
         color = _pkColor.get(getValueBefore(kills, _pkColor.keySet()));
      
      return color;
   }
   
   /**
    * Will return the value just before the given value contained
    * in the provided Set of integers
    * @param value
    * @param set
    * @return the value just before the provided one
    */
   private static int getValueBefore(int value, Set<Integer> set)
   {
      int counter = 0;
      for(int i : set)
      {
         if(i > counter && value > i)
            counter = i;
      }
      return counter;
   }
         
   static class SingletonHolder
   {
      static ColorNameManager _cne = new ColorNameManager();
   }
}

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Some new features that we added: - 2 new quests - PvP Arena (to get hero status) Olympiad is disabled - Love Event - Dressme for armor/weapons/accessories - HWID Protection - More monsters - New farm zone - New autofarm system (works almost like adrenaline) - Auto enchant - Auto augment - 3 levels of armors - 3 levels of weapons - Anti KS System - Rebirth Manager - 30 days checking rewards - Small event (daily checking with small reward for all online players)
    • Added FloodProtector utility to prevent packet flooding for actions like item use and dice rolling. Integrated flood protection checks in relevant client packet handlers and registered/removal hooks in player lifecycle. Updated movement logic in L2PcInstance for improved position synchronization and geodata handling. Minor fixes and refactoring in attack logic, private store handling, and admin NPC editing. Refactored AI classes to enhance movement, attack, and skill usage logic for characters and mobs. Improved distance checks, attack range calculations, and skill casting conditions. Removed unused intention command logic from L2CharacterAI. Updated configuration to enable CellPathFinding. Minor code cleanups and bug fixes for more reliable AI behavior. Enhanced GeoPathFinding with detailed debug and error messages for region loading, including success/failure counts and file checks. Refactored L2AttackableAI and L2CharacterAI to improve attack range tolerance, immediate attack behavior, and added safety checks for missing targets. Updated configuration to disable CellPathFinding by default and added a new ShowRedName option for aggressive mobs. Minor config and log updates included. Applied TCP socket optimizations (e.g., TCP_NODELAY, buffer sizes, keepalive) in ClientThread, Connection, and SelectorThread to reduce latency and improve throughput. Enhanced L2AttackableAI with better random walk, aggro, and attack logic, including silent move checks, quest monster handling, and improved faction/raid/minion behavior. Added silent move support to L2PlayableInstance and quest monster flag to L2NpcTemplate/L2NpcInstance. These changes aim to improve server responsiveness, AI realism, and overall stability.
    • I’ve been using this Escape from Tarkov Hack for about a week now with no issues at all. ESP works great without any lag, and the aimbot is smooth and doesn't feel obvious. Had a quick setup with the loader, and support answered my questions right away. The HWID spoofer also did its job without messing with my system. So far, the cheat's staying undetected on my side.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock