StinkyMadness Posted December 31, 2018 Posted December 31, 2018 (edited) Hello chaters, with currect code you can setup and event with spawning raidbosses on specific times. Code : Here Credits : StinkyMadness Edited July 7, 2021 by StinkyMadness 2 1 Quote
Kara Posted December 31, 2018 Posted December 31, 2018 (edited) Seriously ma bitch? :D public BossEvent() + { + if (Config.BOSS_EVENT_RAIDBOSS_ID != 0) + ThreadPool.scheduleAtFixedRate(this, 1000, 1000); + } + + @Override + public void run() + { + if (_state != State.INACTIVE) + return; + + final Calendar calendar = Calendar.getInstance(); + final int hour = calendar.get(Calendar.HOUR_OF_DAY); + final int minute = calendar.get(Calendar.MINUTE); + for (String time : Config.BOSS_EVENT_SCHEDULER_TIMES) + { + final String[] splitTime = time.split(":"); + if (Integer.parseInt(splitTime[0]) == hour && Integer.parseInt(splitTime[1]) == minute) + { + spawnRaidboss(); + break; + } + } + } Threadpool every 1 second to check if hour and minute matches the given config instead of calculate whats the closest time and set a thread for it specificialy? + spawn.setRespawnDelay(60000); + spawn.setRespawnState(false); setRespawnDelay(6000); but then you setRespawnState false. So useless 60000 delay. + _raidboss.setCurrentHp(_raidboss.getMaxHp()); + _raidboss.setCurrentMp(_raidboss.getMaxMp()); Useless also. Any new npc is spawned with max HP/MP. String[] BOSS_EVENT_SPAWN_LOCATION Why don't you make it directly into a int[] to avoid later Integer.parse and make the code look shit? It's 4 lines String[] split = events.getProperty("BossEventSpawnLocation", "").split(","); BOSS_EVENT_SPAWN_LOCATION = new int[split.lenght]; for (int i = 0; i < split.lenght; i++) BOSS_EVENT_SPAWN_LOCATION[i] = Integer.parseInt(split[i]); Edited December 31, 2018 by Kara` Quote
StinkyMadness Posted December 31, 2018 Author Posted December 31, 2018 (edited) Code Updated Edited January 4, 2019 by StinkyMadness Quote
N0K3 Posted January 6, 2019 Posted January 6, 2019 Hello again stinky, I'm trying to get your mod from acis 377 to 375 and I'm trying to make it difficult to read in XML, since your mod was done with IXMLReader and my source used XMLDocument, because of that I can not compile, I was looking for forms of convert the code to XMLDocument and would like to know if there are options to help me. This document was not found. "The XMLDocument type can not be a superinterface of BossEventData; a superinterface must be an interface". Translated by google translate. [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:18: error: cannot find symbol [javac] public class BossEventData implements IXmlReader [javac] ^ [javac] symbol: class IXmlReader [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:27: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:30: error: cannot find symbol [javac] parseFile("./data/xml/BossEvent.xml"); [javac] ^ [javac] symbol: method parseFile(String) [javac] location: class BossEventData [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:33: error: method does not override or implement a method from a supertype [javac] @Override [javac] ^ [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:37: error: cannot find symbol [javac] forEach(doc, "list", listNode -> forEach(listNode, "Boss", bossNode -> [javac] ^ [javac] symbol: method forEach(Document,String,(listNode)[...]); })) [javac] location: class BossEventData [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:44: error: cannot find symbol [javac] set.set("posX", parseInteger(attrs, "x")); [javac] ^ [javac] symbol: method parseInteger(NamedNodeMap,String) [javac] location: class BossEventData [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:45: error: cannot find symbol [javac] set.set("posY", parseInteger(attrs, "y")); [javac] ^ [javac] symbol: method parseInteger(NamedNodeMap,String) [javac] location: class BossEventData [javac] C:\workspace\L2jMega_gameserver2\java\net\sf\l2j\gameserver\data\xml\BossEventData.java:46: error: cannot find symbol [javac] set.set("posZ", parseInteger(attrs, "z")); [javac] ^ [javac] symbol: method parseInteger(NamedNodeMap,String) [javac] location: class BossEventData [javac] 8 errors Quote
melron Posted January 6, 2019 Posted January 6, 2019 XMLDocument has different behaviour than IXMLReader. If you are a customer of acis and you got the new patches, change it. Otherwise check how other files are using the xmlreader and adapt it since you are not allowed to get the new version for free. 1 1 Quote
martuxas1 Posted June 18, 2019 Posted June 18, 2019 good code but code not valid for acis can't find IXMLReader.java in google or some one can share IXMLReader.java for acis? Quote
StinkyMadness Posted June 18, 2019 Author Posted June 18, 2019 5 hours ago, martuxas1 said: good code but code not valid for acis can't find IXMLReader.java in google or some one can share IXMLReader.java for acis? Its an class of newer aCis revisions, if you want it you have to become an customer on aCis.. else you have to write on your own or find it from any other project hat using IXmlReader. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.