Jump to content

mackry

Members
  • Posts

    54
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

About mackry

Profile Information

  • Gender
    Not Telling

mackry's Achievements

Newbie

Newbie (1/16)

0

Reputation

  1. It works with any client. You just need to patch it correctly.
  2. There are many ways other than applying patches manually. You can use svn:externals but im not very fond of this method.
  3. So here's the scenario: Say I have my own L2J project set-up to a private svn. How could I keep it synced with the L2J SVN changes but have the primary svn as my private one. All without doing it with patching manually. Thanks
  4. Doh! Thanks SkyLanceя, this was an old mod I did so some of it got lost somehow >.< Fixed.
  5. This will allow you to set multiple different competition start times for Olympiad. Use AltOlyCompStart to set the times in General.properties. Time is in military format, ie: 18:00 (6:00 PM). Separate times with commas, ie: 18:00,19:00,20:00 Note: Be sure to adjust your AltOlyCPeriod in the config as well, in respect to your start times. Tested and working (...however, not tested live so please use at your own discretion) Enjoy, mackry (moooo) Index: /java/com/l2jserver/gameserver/model/olympiad/Olympiad.java =================================================================== --- /java/com/l2jserver/gameserver/model/olympiad/Olympiad.java (revision 0) +++ /java/com/l2jserver/gameserver/model/olympiad/Olympiad.java (working copy) protected int _currentCycle; private long _compEnd; private Calendar _compStart; + private Calendar _nextCompStart; + protected static boolean _inCompPeriod; protected static boolean _compStarted = false; protected ScheduledFuture<?> _scheduledCompStart; @@ -403,11 +405,35 @@ _nonClassBasedRegisters = new L2FastList<L2PcInstance>(); _classBasedRegisters = new FastMap<Integer, L2FastList<L2PcInstance>>(); - _compStart = Calendar.getInstance(); - _compStart.set(Calendar.HOUR_OF_DAY, COMP_START); - _compStart.set(Calendar.MINUTE, COMP_MIN); - _compEnd = _compStart.getTimeInMillis() + COMP_PERIOD; + try + { + Calendar currentTime = Calendar.getInstance(); + + for (String timeOfDay : Config.ALT_OLY_COMP_INTERVAL) + { + _compStart = Calendar.getInstance(); + _compStart.setLenient(true); + String [] splitTimeOfDay = timeOfDay.split(":"); + _compStart.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splitTimeOfDay[0])); + _compStart.set(Calendar.MINUTE, Integer.parseInt(splitTimeOfDay[1])); + if (_compStart.getTimeInMillis() < currentTime.getTimeInMillis()) + { + _compStart.add(Calendar.DAY_OF_MONTH, 1); + } + _compEnd = _compStart.getTimeInMillis() + COMP_PERIOD; + } + } + catch (Exception e) + { + _log.warning("Olympiad[Olympiad.init()]: Error figuring out a start time. Check OlyCompInterval in config file."); + } + + //_compStart = Calendar.getInstance(); + //_compStart.set(Calendar.HOUR_OF_DAY, COMP_START); + //_compStart.set(Calendar.MINUTE, COMP_MIN); + //_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD; + if (_scheduledOlympiadEnd != null) _scheduledOlympiadEnd.cancel(true); @@ -901,15 +927,18 @@ private long setNewCompBegin() { - _compStart = Calendar.getInstance(); - _compStart.set(Calendar.HOUR_OF_DAY, COMP_START); - _compStart.set(Calendar.MINUTE, COMP_MIN); - _compStart.add(Calendar.HOUR_OF_DAY, 24); + Calendar nextCompStart = null; + nextCompStart = Calendar.getInstance(); + if (nextCompStart == null || _compStart.getTimeInMillis() < nextCompStart.getTimeInMillis()) + { + nextCompStart = _compStart; + + } _compEnd = _compStart.getTimeInMillis() + COMP_PERIOD; - _log.info("Olympiad System: New Schedule @ " + _compStart.getTime()); + _log.info("Olympiad System: New Schedule @ " + nextCompStart.getTime()); - return (_compStart.getTimeInMillis() - Calendar.getInstance().getTimeInMillis()); + return (nextCompStart.getTimeInMillis() - Calendar.getInstance().getTimeInMillis()); } protected long getMillisToCompEnd() Index: /java/config/General.properties =================================================================== --- /java/config/General.properties (revision 0) +++ /java/config/General.properties (working copy) @@ -439,6 +439,10 @@ # Default: 18 AltOlyStartTime = 18 +# Olympiad Start Time in Military hours Default 6pm (18) +# Default: 18 +AltOlyCompStart = 04:00,8:00,12:00,16:00,20:00,00:00 + # Olympiad Start Time for Min's, Default 00 so at the start of the hour. # Default: 00 AltOlyMin = 00 @@ -446,7 +450,7 @@ # Olympiad Competition Period, Default 6 hours. # (If set different, should be increment by 10mins) # Default: 21600000 -AltOlyCPeriod = 21600000 +AltOlyCPeriod = 3600000 # Olympiad Battle Period, Default 6 minutes. # Default: 360000 Index: /java/com/l2jserver/Config.java =================================================================== --- : /java/com/l2jserver/Config.java (revision 0) +++ : /java/com/l2jserver/Config.java (working copy) @@ -456,6 +456,7 @@ public static int NAME_PAGE_SIZE_COMMUNITYBOARD; public static int NAME_PER_ROW_COMMUNITYBOARD; public static int ALT_OLY_START_TIME; + public static String[] ALT_OLY_COMP_INTERVAL; public static int ALT_OLY_MIN; public static long ALT_OLY_CPERIOD; public static long ALT_OLY_BATTLE; @@ -1621,6 +1622,7 @@ NAME_PAGE_SIZE_COMMUNITYBOARD = Integer.parseInt(General.getProperty("NamePageSizeOnCommunityBoard", "50")); NAME_PER_ROW_COMMUNITYBOARD = Integer.parseInt(General.getProperty("NamePerRowOnCommunityBoard", "5")); ALT_OLY_START_TIME = Integer.parseInt(General.getProperty("AltOlyStartTime", "18")); + ALT_OLY_COMP_INTERVAL = General.getProperty("AltOlyCompStart", "20:00").split(","); ALT_OLY_MIN = Integer.parseInt(General.getProperty("AltOlyMin","00")); ALT_OLY_CPERIOD = Long.parseLong(General.getProperty("AltOlyCPeriod","21600000")); ALT_OLY_BATTLE = Long.parseLong(General.getProperty("AltOlyBattle","360000"));
  6. Read the post. I'm moooo and yes I did post it on the L2J first. Read first.
  7. I'm not sure if this is out there yet but I decided to do it anyway. These add-ons include: - Base Teleport Option - Flag Hold Timer - Flag Runner Scores at end of game Base Teleport Option: This option allows the admin to define a specific set of coordinates for each team to have a "Base". If this is set-up correctly, the players will teleport to their bases first, then teleport into the fight. - Note: The Base coordinates should be in a remote location or blocked off from entering the fight/event area. Flag Hold Timer: This allows the admin to define a set time limit for players to hold the flag. If the time limit is reached for the players duration of holding the flag, the flag will be returned. - Note: Time is in seconds. This feature is not define in the config, but feel free to apply it yourself. Flag Runner Scores: At the end of the match, this will display how many flag captures accomplished by each individual player (who managed to capture a flag) according to their team. I've also added a display of current team scores every time a score is made. - Note: These features are not define in the config, but feel free to apply them yourself. This has been tested live; however, I'm sure their are still bugs, so please do report any that are encountered. Ps. You will probably need to apply the patch manually. I hope you enjoy, moooo (mackry) *PS: I go by moooo/mackry if you see this elsewhere and are wondering about credits. [table][tr][td]Download[/td][td]v1.1 Link updated 3/20/11[/td][/tr][/table]
  8. @zlati: I don't have this installed, but it looks like you don't have the Hitman class in the correct package. Double check.
  9. You must edit the source somehow or what you want to do is impossible.
  10. Hi there, Just looking to join a worthy dev team. Contact me here or via PM if you're looking for an addition to your team. Thanks (Don't bother contacting me if you're under the age of 18)
×
×
  • Create New...