Dev Atlas Posted November 26, 2014 Posted November 26, 2014 Hi, I am using L2jHellas project. I have changed on experience.xml some values to test how lvl up works. but i set for example <experience level="1" tolevel="0" /> <experience level="2" tolevel="100" /> <experience level="3" tolevel="150" /> <experience level="4" tolevel="200" /> <experience level="5" tolevel="300" /> and i have this problem How can i solve that? i normally get lvl with 100 exp points but on exp bar i get that!! (on 134% i go to lvl 2 and my bar has already 10% on it)
0 SweeTs Posted November 26, 2014 Posted November 26, 2014 You should take a look at experience.java as well
0 Dev Atlas Posted November 26, 2014 Author Posted November 26, 2014 You should take a look at experience.java as well public class ExperienceData { private static Logger _log = Logger.getLogger(ExperienceData.class.getName()); private byte MAX_LEVEL; private byte MAX_PET_LEVEL; private final Map<Integer, Long> _expTable = new HashMap<Integer, Long>(); private ExperienceData() { loadData(); } private void loadData() { final File xml = new File(PackRoot.DATAPACK_ROOT, "data/xml/experience.xml"); if (!xml.exists()) { _log.warning(getClass().getSimpleName() + ": experience.xml not found!"); return; } Document doc = null; final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); factory.setIgnoringComments(true); try { doc = factory.newDocumentBuilder().parse(xml); } catch (Exception e) { _log.warning("Could not parse experience.xml: " + e.getMessage()); return; } final Node table = doc.getFirstChild(); final NamedNodeMap tableAttr = table.getAttributes(); MAX_LEVEL = (byte) (Byte.parseByte(tableAttr.getNamedItem("maxLevel").getNodeValue()) + 1); MAX_PET_LEVEL = (byte) (Byte.parseByte(tableAttr.getNamedItem("maxPetLevel").getNodeValue()) + 1); _expTable.clear(); NamedNodeMap attrs; Integer level; Long exp; for (Node experience = table.getFirstChild(); experience != null; experience = experience.getNextSibling()) { if (experience.getNodeName().equals("experience")) { attrs = experience.getAttributes(); level = Integer.valueOf(attrs.getNamedItem("level").getNodeValue()); exp = Long.valueOf(attrs.getNamedItem("tolevel").getNodeValue()); _expTable.put(level, exp); } } _log.info(getClass().getSimpleName() + ": Loaded " + _expTable.size() + " levels"); _log.info(getClass().getSimpleName() + ": Max Player Level is: " + (MAX_LEVEL - 1)); _log.info(getClass().getSimpleName() + ": Max Pet Level is: " + (MAX_PET_LEVEL - 1)); } public long getExpForLevel(int level) { return _expTable.get(level); } public byte getMaxLevel() { return MAX_LEVEL; } public byte getMaxPetLevel() { return MAX_PET_LEVEL; } public static ExperienceData getInstance() { return SingletonHolder._instance; } @SuppressWarnings("synthetic-access") private static class SingletonHolder { protected static final ExperienceData _instance = new ExperienceData(); } that is what i found ExperienceData.java but i cant find anything helpful here!
0 Dev Atlas Posted November 27, 2014 Author Posted November 27, 2014 Any1 who can help me plz contact me!!
0 Amster Posted November 28, 2014 Posted November 28, 2014 I never had this problem on High5. Maybe it's client sided? Which chronicle are you using?
0 Dev Atlas Posted November 28, 2014 Author Posted November 28, 2014 I never had this problem on High5. Maybe it's client sided? Which chronicle are you using Read my first post.. I am using L2jHellas.. it is for C6
Question
Dev Atlas
Hi, I am using L2jHellas project.
I have changed on experience.xml some values to test how lvl up works.
but i set for example
and i have this problem
How can i solve that? i normally get lvl with 100 exp points but on exp bar i get that!! (on 134% i go to lvl 2 and my bar has already 10% on it)
6 answers to this question
Recommended Posts