Jump to content
  • 0

Weekly Olympiads


maxicroma

Question

Hello, I am using the files of l2mythras (the same ones that are posted in these forums).

I am trying to set up the Olympiads to be weekly and not monthly.

This its the config file

#==============================================
# 				Olympiad Settings			  #
#==============================================
EnableOlympiad = True
EnableOlympiadSpectating = True

# Olympiad Manager Shout Just one message 
# Official = False
OlyManagerShoutJustOneMessage = True

#==============================================#
#             ANTI FEED OPTION                 #
#==============================================#
# Don't Allow Clan Members to fight VS same Clan
# Official = False

# Maximum number in Stadion Preparation (standard: 160)
OlympiadStadiasCount = 160

# Olympiad Start Time in Military hours Default 8pm (20)
AltOlyStartTime = 18
# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
AltOlyMin = 00

# Olympiad Compeition Period, Default 8 hours.
# (If set different, should be increment by 10mins)
AltOlyCPeriod = 28800000

# Olympiad Weekly Period, Default: 604800000
AltOlyWPeriod = 604800000

# Olympiad Validation Period, Default 12 Hours.
# Default: 43200000
AltOlyVPeriod = 43200000

# If you change the config make a request to the database: DELETE FROM `server_variables` WHERE `name` = 'Olympiad_End';
# Example (every two weeks):
# AltOlyDateEnd = 1,15
AltOlyDateEnd = 15

ClassGameMin = 2
NonClassGameMin = 2
TeamGameMin = 15

# Number used for displaying amount of registered participants, messages "Fewer than ..." or "More than ...".
# 0 for displaying digits instead of text phrase (old style).
# Default: 100
AltOlyRegistrationDisplayNumber = 10

# Olympiad battle winner reward.
# Default: 13722
AltOlyBattleRewItem = 13722

# Default: 50
AltOlyClassedRewItemCount = 50

# Default: 40
AltOlyNonClassedRewItemCount = 40

# Default: 50
AltOlyTeamRewItemCount = 50

# ItemId for this reward.
# Default: 13722
AltOlyCompRewItem = 13722

# Rate to exchange points to reward item.
# Default: 1000
AltOlyGPPerPoint = 1000

# Noblesse points awarded to Heros.
# Default: 200
AltOlyHeroPoints = 200

# Noblesse points awarded to Rank 1 members.
# Default: 100
AltOlyRank1Points = 100

# Noblesse points awarded to Rank 2 members.
# Default: 75
AltOlyRank2Points = 75

# Noblesse points awarded to Rank 3 members.
# Default: 55
AltOlyRank3Points = 55

# Noblesse points awarded to Rank 4 members.
# Default: 40
AltOlyRank4Points = 40

# Noblesse points awarded to Rank 5 members.
# Default: 30
AltOlyRank5Points = 30

# Maximum fighting gallop can be made
GameMaxLimit = 70
# Limit the fighting in class
GameClassesCountLimit = 30
# Limit fighting outside class
GameNoClassesCountLimit = 60
# Limit fighting team
GameTeamCountLimit = 10

# The number of fights per month required for tokens
OlympiadBattlesForReward = 15

# The number of points issued on receipt nubla and earlier this month
OlympiadPointsDefault = 50
# The number of points given out in a week
OlympiadPointsWeekly = 25

# Show /olympiadstat in the old version (only you)
OlympiadOldStyleStat = False

# Block Gulf twinks at the Olympics (check for IP)
OlympiadPlayerIp = True

# Время ожидания до порта на арену, использовать только значения стандартного ряда (120,60,30,15,5,4,3,2,1)
# Default: 120
AltOlyWaitTime = 60
# Время ожидания порта в город после боя, использовать только значения стандартного ряда (20,10,5,4,3,2,1)
# Default: 20
AltOlyPortBackTime = 20

# Config for maximum grinding equip to fight in the Olympics
# False to disable
OlyEnchantLimit = false
OlyEnchantLimitWeapon = 6
OlyEnchantLimitArmor = 6
OlyEnchantLimitJewel = 6

# Clear peretochennye things?
# Works only when the OlyEnchantLimit!
OlympiadUnEquipBadEnchantItem = True

# Time to teleport to the stadium
OlympiadBeginTime = 60

 

Im thinking that the value to change its this one

 

# If you change the config make a request to the database: DELETE FROM `server_variables` WHERE `name` = 'Olympiad_End';
# Example (every two weeks):
# AltOlyDateEnd = 1,15
AltOlyDateEnd = 15

 

 

Try putting 1.15 as it says up there and did the update of the server_variables table.
I played some matches with the characters with all the requirements (9 fights and at least 1 won), then forward the windows date (so that the 2 weeks pass) but it never lets you ask for hero status.

If anyone could give me a hand.
Thank you so much
Regards

 

 

 

Link to comment
Share on other sites

Recommended Posts

  • 1
5 minutes ago, maxicroma said:

Found it on the same file Olympiad.java

This its a pice of the code

 

And this one the full one 

https://pastebin.com/13df19yL

 

 

I failed hard because i was fast and because i speak 4 chats in skype and 2 in facebook :P Sorry again mate, report me.

 

Change this:

 

Quote

 

protected void setNewOlympiadEnd()
    {
        Broadcast.toAllOnlinePlayers(SystemMessage.getSystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_STARTED).addNumber(_currentCycle));
        
        Calendar currentTime = Calendar.getInstance();
        currentTime.add(Calendar.MONTH, 1);
        currentTime.set(Calendar.DAY_OF_MONTH, 1);
        currentTime.set(Calendar.AM_PM, Calendar.AM);
        currentTime.set(Calendar.HOUR, 12);
        currentTime.set(Calendar.MINUTE, 0);
        currentTime.set(Calendar.SECOND, 0);
        _olympiadEnd = currentTime.getTimeInMillis();
        
        Calendar nextChange = Calendar.getInstance();
        _nextWeeklyChange = nextChange.getTimeInMillis() + WEEKLY_PERIOD;
        scheduleWeeklyChange();
    }

 

 

 

to this and try it (Before testing, make sure you delete the record from database):

 

Quote

protected void setNewOlympiadEnd()
    {
        Broadcast.toAllOnlinePlayers(SystemMessage.getSystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_STARTED).addNumber(_currentCycle));
        
        Calendar currentTime = Calendar.getInstance();
        currentTime.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
        currentTime.set(Calendar.AM_PM, Calendar.AM);
        currentTime.set(Calendar.HOUR, 12);
        currentTime.set(Calendar.MINUTE, 0);
        currentTime.set(Calendar.SECOND, 0);
        if (currentTime.getTimeInMillis() < System.currentTimeMillis())
            currentTime.add(Calendar.WEEK_OF_MONTH, 1);

        _olympiadEnd = currentTime.getTimeInMillis();
        
        Calendar nextChange = Calendar.getInstance();
        _nextWeeklyChange = nextChange.getTimeInMillis() + WEEKLY_PERIOD;
        scheduleWeeklyChange();
    }

 

 

Link to comment
Share on other sites

  • 0
9 minutes ago, maxicroma said:

as says on top I am using the files of l2mythras (fandc )

Sorry. I did not see it. I was from phone that time. Seriously...sorry mate.

 

I remember some packs, were using calendar to set the time heroes will be selected. You can copy code from there. Search it. As i remember, it was little part.

Link to comment
Share on other sites

  • 0
2 minutes ago, Solomun said:

Sorry. I did not see it. I was from phone that time. Seriously...sorry mate.

 

I remember some packs, were using calendar to set the time heroes will be selected. You can copy code from there. Search it. As i remember, it was little part.

np dude .

I think this files already has some of this.

 

What you think about this config 

Quote

# If you change the config make a request to the database: DELETE FROM `server_variables` WHERE `name` = 'Olympiad_End';
# Example (every two weeks):
# AltOlyDateEnd = 1,15
AltOlyDateEnd = 15

 

Link to comment
Share on other sites

  • 0
Just now, maxicroma said:

np dude .

I think this files already has some of this.

 

What you think about this config 

 

I am talking about this part.

 

Olympiad.java

 

Quote

protected void init()
    {
        if (_period == 1)
            return;
        
        _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);
        
        _scheduledOlympiadEnd = ThreadPool.schedule(new OlympiadEndTask(), getMillisToOlympiadEnd());
        
        updateCompStatus();
    }

 

This code exists on acis. Try to check yours. If you cant understand something, post the part of the code here.

Link to comment
Share on other sites

  • 0
2 minutes ago, Solomun said:

I am talking about this part.

 

Olympiad.java

 

 

This code exists on acis. Try to check yours. If you cant understand something, post the part of the code here.

Found it on the same file Olympiad.java

This its a pice of the code

{
		if (_period == 1)
			return;

		_compStart = Calendar.getInstance();
		_compStart.set(Calendar.HOUR_OF_DAY, Config.ALT_OLY_START_TIME);
		_compStart.set(Calendar.MINUTE, Config.ALT_OLY_MIN);
		_compEnd = _compStart.getTimeInMillis() + Config.ALT_OLY_CPERIOD;

		if (_scheduledOlympiadEnd != null)
			_scheduledOlympiadEnd.cancel(false);
		_scheduledOlympiadEnd = ThreadPoolManager.getInstance().schedule(new OlympiadEndTask(), getMillisToOlympiadEnd());

		updateCompStatus();

		if (_scheduledWeeklyTask != null)
			_scheduledWeeklyTask.cancel(false);
		_scheduledWeeklyTask = ThreadPoolManager.getInstance().scheduleAtFixedRate(new WeeklyTask(), getMillisToWeekChange(), Config.ALT_OLY_WPERIOD);
	}

 

And this one the full one 

https://pastebin.com/13df19yL

 

 

Link to comment
Share on other sites

  • 0
Just now, SweeTs said:

Example say one thing, you set it your way, yet you are like wtf.

I realise that too ,thats the default that comes with the files ,also tried 1,15 nothing changes keeps on 31 days olys .

Link to comment
Share on other sites

  • 0
8 minutes ago, Solomun said:

I failed hard because i was fast and because i speak 4 chats in skype and 2 in facebook :P Sorry again mate, report me.

 

Change this:

 

 

 

to this and try it (Before testing, make sure you delete the record from database):

 

 

 

i found this sutff inside another file called OlympiadDatabase.java

this part of the code looks similar

public static synchronized void setNewOlympiadEnd()
	{
		Announcements.getInstance().announceToAll(new SystemMessage(SystemMsg.ROUND_S1_OF_THE_GRAND_OLYMPIAD_GAMES_HAS_STARTED).addNumber(Olympiad._currentCycle));

		 Calendar currentTime = Calendar.getInstance();
	        currentTime.add(Calendar.MONTH, 1);
	        currentTime.set(Calendar.DAY_OF_MONTH, 1);
	        currentTime.set(Calendar.AM_PM, Calendar.AM);
	        currentTime.set(Calendar.HOUR, 12);
	        currentTime.set(Calendar.MINUTE, 0);
	        currentTime.set(Calendar.SECOND, 0);
	        _olympiadEnd = currentTime.getTimeInMillis();

		Calendar nextChange = Calendar.getInstance();
		Olympiad._nextWeeklyChange = nextChange.getTimeInMillis() + Config.ALT_OLY_WPERIOD;

		Olympiad._isOlympiadEnd = false;
		Announcements.getInstance().announceToAll(new SystemMessage2(SystemMsg.OLYMPIAD_PERIOD_S1_HAS_STARTED).addInteger(Olympiad._currentCycle));
	}

 

Link to comment
Share on other sites

  • 0
Just now, maxicroma said:

i found this sutff inside another file called OlympiadDatabase.java

this part of the code looks similar

 

 

Give it a try :)

 

And let me know if it worked.

Link to comment
Share on other sites

  • 0
17 minutes ago, maxicroma said:

rckfh1.jpg

I put the code but it has some errors(even when i try to compile it give errors)

 

 

This behavior of errors, most times is because of some Syntax Error. Try to spot if me or you missed something. Or, try to save the file and see what happens (sometimes it stucks)

Link to comment
Share on other sites

  • 0

This is the errors that give me when i try to compile ,i copy the code as you give me.

https://pastebin.com/HJbmBdSc

 

And this its the file withe the code you give me.

https://pastebin.com/1spBd0Si

 

 

Link to comment
Share on other sites

  • 0

Try to delete the lines and write them without copt paste. As far i can see, it is an encoding problem. Which means something foes wrong when you copy paste my code. Maybe your browser or maxcheaters or something. Write them by hand and check...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...