Page 1 of 1

[HELP]Start Time

Posted: Thu Apr 15, 2010 11:12 am
by vmv
If you want to receive support we need this info to help you properly.
ยป Find Revision
L2J Revision Number:
L2JDP Revision Number:
Hi there,
I have a question regarding to the starting of something:
What is the formula to start something everyday at the same hour...i have this and it's for once a week:

_eventStart = Calendar.getInstance();
_eventStart.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
_eventStart.set(Calendar.HOUR_OF_DAY, 18);
_eventStart.set(Calendar.MINUTE, 0);
_eventStart.set(Calendar.SECOND, 0);
if (_eventStart.getTimeInMillis() < System.currentTimeMillis())
_eventStart.add(Calendar.DAY_OF_MONTH, 7);
saveData();

ty for any help,

Re: [HELP]Start Time

Posted: Thu Apr 15, 2010 1:29 pm
by jurchiks
try
_eventStart = Calendar.getInstance();
_eventStart.set(Calendar.HOUR_OF_DAY, 18);
_eventStart.set(Calendar.MINUTE, 0);
_eventStart.set(Calendar.SECOND, 0);
if (_eventStart.getTimeInMillis() < System.currentTimeMillis())
_eventStart.add(Calendar.DAY_OF_MONTH, 1);
saveData();

if I understand correctly, Calendar.DAY_OF_MONTH, %number%
%number% = amount of days to add to the time

Re: [HELP]Start Time

Posted: Thu Apr 15, 2010 1:38 pm
by janiii
vmv you should describe what you want to do. there are already global tasks possible from database, or you can do a task script.

Re: [HELP]Start Time

Posted: Thu Apr 15, 2010 2:24 pm
by vmv
I have an event that starts with this configuration only once per week and i want to start every day at a fix hour like the Olympiad does (18).

I have put this and event starts ok...but after that all is closed ,npc should continue with next step but he close the event for the next day part :

_cycle = 1;
_period = 1;
_eventStart = Calendar.getInstance();
_eventStart.set(Calendar.HOUR_OF_DAY, 17);
_eventStart.set(Calendar.MINUTE, 0);
_eventStart.set(Calendar.SECOND, 0);
if (_eventStart.getTimeInMillis() < System.currentTimeMillis())
_eventStart.add(Calendar.HOUR, 24);
saveData();

Re: [HELP]Start Time

Posted: Sat Apr 17, 2010 10:45 am
by vmv
Like this event will start once a week :

Code: Select all

private void loadData()	{		if (loadGlobalQuestVar("cycle").equalsIgnoreCase(""))		{			_cycle = 1;			_period = 1;			_eventStart = Calendar.getInstance();			_eventStart.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);			_eventStart.set(Calendar.HOUR_OF_DAY, 18);			_eventStart.set(Calendar.MINUTE, 0);			_eventStart.set(Calendar.SECOND, 0);			if (_eventStart.getTimeInMillis() < System.currentTimeMillis())				_eventStart.add(Calendar.DAY_OF_MONTH, 7);			saveData();		}		else		{
Like this event will start once a day :

Code: Select all

private void loadData()	{		if (loadGlobalQuestVar("cycle").equalsIgnoreCase(""))		{			_cycle = 1;			_period = 1;			_eventStart = Calendar.getInstance();			//_eventStart.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);			_eventStart.set(Calendar.HOUR_OF_DAY, 18);			_eventStart.set(Calendar.MINUTE, 0);			_eventStart.set(Calendar.SECOND, 0);			if (_eventStart.getTimeInMillis() < System.currentTimeMillis())				_eventStart.add(Calendar.DAY_OF_MONTH, 1);			saveData();		}		else		{
But to start more then once a day i can't do it....maybe it must be other code, like that from TvT ...any idea ?

:)