- 0
-
Posts
-
***DO NOT BUY WHAT IS POSTED HERE FOR FREE*** https://www.mediafire.com/file/mhjiaoipe6hohjm/Extender_Rev_222_by_Guytis.rar/file It has everything Devs is offering for $450 USD with a license. Here it is, free and with source code.
-
Hello, well obviously i dont have access to the server side, and neither have those guys in the picture, i thought it was something client side since they manage to have that... Here is another example, Its essence server btw
-
So according to you, you found a bug so hidden that nobody can discover it — not even by analyzing the source code with modern tools. Is that really what you're trying to say? Because what you're basically claiming is that: The files contain an error But nobody can find it Nobody can fix it Not even by analyzing the code with tools like ChatGPT So… a magical invisible bug that only you can see. Do you realize how absurd that sounds? If there was actually a real problem, it would be very easy to demonstrate: Open the server. Show the error. Point to the exact place in the code where it happens. But instead of doing that, the only thing you've done so far is write vague messages and say “I'll make a video.” Perfect. Go ahead and make the video. Show the error. Show the code. Because up to this point, all we have here are accusations without a single piece of technical evidence. And in a development forum, that has absolutely no value. Regards. ***DO NOT BUY WHAT IS POSTED HERE FOR FREE*** https://www.mediafire.com/file/mhjiaoipe6hohjm/Extender_Rev_222_by_Guytis.rar/file It has everything Devs is offering for $450 USD with a license. Here it is, free and with source code. ------------------------------------------------------------------------------------------------------ I would like to ask if a moderator or administrator could please review the thread and consider closing it. The user involved keeps posting misleading statements and accusations without providing any technical proof. The discussion has stopped being a constructive technical conversation and has turned into repeated attempts to spread misinformation about the files. Despite being asked multiple times to provide evidence (such as a reproducible error, logs, or code analysis), none has been presented. Instead, the thread continues with vague claims that only generate confusion within the community. From my perspective, the purpose seems to be discouraging users from using the freely available files while promoting alternative products. Since no technical evidence has been provided and the thread is no longer productive, I believe it would be better for the community if the discussion were closed. Thank you for your time and attention. Best regards. -------------------------------------------------------------------------------------------------------- ***DO NOT BUY WHAT IS POSTED HERE FOR FREE*** https://www.mediafire.com/file/mhjiaoipe6hohjm/Extender_Rev_222_by_Guytis.rar/file It has everything Devs is offering for $450 USD with a license. Here it is, free and with source code.
-
What ChatGPT? Dont think ChatGPT will fix your problem :d You will never figure out where the problem actually is. Don’t try to twist things. Just open the server and write here.. i will make a video for you showing how everything goes to hell with “your files”
-
-
Topics

Question
l2jkain
Hello I changed the tvt event manager tvt to announce every minute passes however the time gets a delay of 1:45 minutes to teleport the players and to go back to the village when it finishes someone help me?
code original :
/* * 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 net.sf.l2j.gameserver.model.entity.events.manager; import java.util.Calendar; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; import net.sf.l2j.Config; import net.sf.l2j.commons.concurrent.ThreadPool; import net.sf.l2j.gameserver.model.entity.events.TvTEvent; import net.sf.l2j.gameserver.util.Broadcast; /** * @author FBIagent */ public class TvTManager { protected static final Logger _log = Logger.getLogger(TvTManager.class.getName()); /** Task for event cycles<br> */ private TvTStartTask _task; /** * New instance only by getInstance()<br> */ public TvTManager() { if (Config.TVT_EVENT_ENABLED) { TvTEvent.init(); this.scheduleEventStart(); _log.info("TvTEventEngine: Started."); } else { _log.info("TvTEventEngine: Disabled."); } } /** * Initialize new/Returns the one and only instance<br><br> * * @return TvTManager<br> */ public static TvTManager getInstance() { return SingletonHolder._instance; } /** * Starts TvTStartTask */ public void scheduleEventStart() { try { Calendar currentTime = Calendar.getInstance(); Calendar nextStartTime = null; Calendar testStartTime = null; for (String timeOfDay : Config.TVT_EVENT_INTERVAL) { // Creating a Calendar object from the specified interval value testStartTime = Calendar.getInstance(); testStartTime.setLenient(true); String[] splitTimeOfDay = timeOfDay.split(":"); testStartTime.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splitTimeOfDay[0])); testStartTime.set(Calendar.MINUTE, Integer.parseInt(splitTimeOfDay[1])); // If the date is in the past, make it the next day (Example: Checking for "1:00", when the time is 23:57.) if (testStartTime.getTimeInMillis() < currentTime.getTimeInMillis()) { testStartTime.add(Calendar.DAY_OF_MONTH, 1); } // Check for the test date to be the minimum (smallest in the specified list) if (nextStartTime == null || testStartTime.getTimeInMillis() < nextStartTime.getTimeInMillis()) { nextStartTime = testStartTime; } } if (nextStartTime != null) { _task = new TvTStartTask(nextStartTime.getTimeInMillis()); ThreadPool.execute(_task); } } catch (Exception e) { _log.warning("TvTEventEngine[TvTManager.scheduleEventStart()]: Error figuring out a start time. Check TvTEventInterval in config file."); } } /** * Method to start participation */ public void startReg() { if (!TvTEvent.startParticipation()) { Broadcast.announceToOnlinePlayers("TvT Event: Event was cancelled."); _log.warning("TvTEventEngine[TvTManager.run()]: Error spawning event npc for participation."); this.scheduleEventStart(); } else { Broadcast.announceToOnlinePlayers("TvT Event: Registration opened for " + Config.TVT_EVENT_PARTICIPATION_TIME + " minute(s). Type .tvtjoin or .tvtleave, .tvtinfo", true); // schedule registration end _task.setStartTime(System.currentTimeMillis() + 60000L * Config.TVT_EVENT_PARTICIPATION_TIME); ThreadPool.execute(_task); } } /** * Method to start the fight */ public void startEvent() { if (!TvTEvent.startFight()) { Broadcast.announceToOnlinePlayers("TvT Event: Event cancelled due to lack of Participation."); _log.info("TvTEventEngine[TvTManager.run()]: Lack of registration, abort event."); this.scheduleEventStart(); } else { TvTEvent.sysMsgToAllParticipants("TvT Event: Teleporting participants to an arena in " + Config.TVT_EVENT_START_LEAVE_TELEPORT_DELAY + " second(s)."); _task.setStartTime(System.currentTimeMillis() + 60000L * Config.TVT_EVENT_RUNNING_TIME); ThreadPool.execute(_task); } } /** * Method to end the event and reward */ public void endEvent() { Broadcast.announceToOnlinePlayers(TvTEvent.calculateRewards()); TvTEvent.sysMsgToAllParticipants("TvT Event: Teleporting back to the registration npc in " + Config.TVT_EVENT_START_LEAVE_TELEPORT_DELAY + " second(s)."); TvTEvent.stopFight(); this.scheduleEventStart(); } public void skipDelay() { if (_task.nextRun.cancel(false)) { _task.setStartTime(System.currentTimeMillis()); ThreadPool.execute(_task); } } /** * Class for TvT cycles */ class TvTStartTask implements Runnable { private long _startTime; public ScheduledFuture<?> nextRun; public TvTStartTask(long startTime) { _startTime = startTime; } public void setStartTime(long startTime) { _startTime = startTime; } /** * @see java.lang.Runnable#run() */ @Override public void run() { int delay = (int) Math.round((_startTime - System.currentTimeMillis()) / 1000.0); if (delay > 0) { this.announce(delay); } int nextMsg = 0; if (delay > 3600) { nextMsg = delay - 3600; } else if (delay > 1800) { nextMsg = delay - 1800; } else if (delay > 900) { nextMsg = delay - 900; } else if (delay > 600) { nextMsg = delay - 600; } else if (delay > 300) { nextMsg = delay - 300; } else if (delay > 60) { nextMsg = delay - 60; } else if (delay > 5) { nextMsg = delay - 5; } else if (delay > 0) { nextMsg = delay; } else { // start if (TvTEvent.isInactive()) { TvTManager.this.startReg(); } else if (TvTEvent.isParticipating()) { TvTManager.this.startEvent(); } else { TvTManager.this.endEvent(); } } if (delay > 0) { nextRun = ThreadPool.schedule(this, nextMsg * 1000); } } private void announce(long time) { if (time >= 3600 && time % 3600 == 0) { if (TvTEvent.isParticipating()) { Broadcast.announceToOnlinePlayers("TvT Event: " + (time / 60 / 60) + " hour(s) until registration is closed!"); } else if (TvTEvent.isStarted()) { TvTEvent.sysMsgToAllParticipants("TvT Event: " + (time / 60 / 60) + " hour(s) until event is finished!"); } } else if (time >= 60) { if (TvTEvent.isParticipating()) { Broadcast.announceToOnlinePlayers("TvT Event: " + (time / 60) + " minute(s) until registration is closed!"); } else if (TvTEvent.isStarted()) { TvTEvent.sysMsgToAllParticipants("TvT Event: " + (time / 60) + " minute(s) until the event is finished!"); } } else { if (TvTEvent.isParticipating()) { Broadcast.announceToOnlinePlayers("TvT Event: " + time + " second(s) until registration is closed!"); } else if (TvTEvent.isStarted()) { TvTEvent.sysMsgToAllParticipants("TvT Event: " + time + " second(s) until the event is finished!"); } } } } private static class SingletonHolder { protected static final TvTManager _instance = new TvTManager(); } }Code modified
1 answer to this question
Recommended Posts