Jump to content
  • 0

Olympiad Period End Time When Char Login


Question

Posted

Someone know how to add somethink like this?

 

I think must add option to oliconfig.ini, config.java and i add to enterworld.java this code

		if(Config.OLYMPIAD_END_ANNOUNE && activeChar.isNoble())
		{
			Olympiad.olympiadEnd(activeChar);
		}

but still doesnt work, i think must add somethink else but dont know where :/ i learn java so stop spam post like "you are noob" or somethink like this :)

 

Here is image what i mean:

 

post-135130-0-19927400-1395168174_thumb.png

Recommended Posts

  • 0
Posted (edited)

A config wouldn't change anything, you just need to move your announcement after "Welcome to Lineage II" message.

Look in EnterWorld.java for:

// Close lock at login
activeChar.setLocked(false);

and place your code before that. Also remove static from everywhere you added it and change

 

Olympiad.olympiadEnd(activeChar);

to

Olympiad.getInstance().olympiadEnd(activeChar);

Edited by Versus
  • 0
Posted

I think you want that ?

long milliToEnd;
if (_period == 0)
	milliToEnd = getMillisToOlympiadEnd();
else
	milliToEnd = getMillisToValidationEnd();

You only need to format the result, and create a getter for _period to access it out of Olympiads class.

  • 0
Posted (edited)

Thx for fast answer, but where i must put your code?

 

Edit:

 

Ok i put to olympiad.java this code:

	public static void olympiadEnd(L2PcInstance player)
	{
		long milliToEnd;
		if(_period == 0)
		{
			milliToEnd = getMillisToOlympiadEnd();
		}
		else
		{
			milliToEnd = getMillisToValidationEnd();
		}

		double numSecs = milliToEnd / 1000 % 60;
		double countDown = (milliToEnd / 1000 - numSecs) / 60;
		int numMins = (int) Math.floor(countDown % 60);
		countDown = (countDown - numMins) / 60;
		int numHours = (int) Math.floor(countDown % 24);
		int numDays = (int) Math.floor((countDown - numHours) / 24);

		CreatureSay cs = new CreatureSay(0, Say2.ANNOUNCEMENT, "", "Olympiad period ends in " + numDays + " days, " + numHours + " hours and " + numMins + " mins.");
		player.sendPacket(cs);
	}

 but when i compile in eclipse i have errors like this:

Buildfile: C:\workspace\L2Private\trunk\gameserver\build.xml
prepare-local:
prepare-final:
init:
version:
     [echo] L2jFrozen Gameserver Revision: exported
compile:
    [javac] Compiling 779 source files to C:\workspace\L2Private\trunk\gameserver\build\classes
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\model\entity\olympiad\Olympiad.java:1704: error: non-static variable _period cannot be referenced from a static context
    [javac] 		if(_period == 0)
    [javac] 		   ^
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\model\entity\olympiad\Olympiad.java:1706: error: non-static method getMillisToOlympiadEnd() cannot be referenced from a static context
    [javac] 			milliToEnd = getMillisToOlympiadEnd();
    [javac] 			             ^
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\model\entity\olympiad\Olympiad.java:1710: error: non-static method getMillisToValidationEnd() cannot be referenced from a static context
    [javac] 			milliToEnd = getMillisToValidationEnd();
    [javac] 			             ^
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\model\entity\olympiad\Olympiad.java:1720: error: cannot find symbol
    [javac] 		CreatureSay cs = new CreatureSay(0, Say2.ANNOUNCEMENT, "", "Olympiad period ends in " + numDays + " days, " + numHours + " hours and " + numMins + " mins.");
    [javac] 		^
    [javac]   symbol:   class CreatureSay
    [javac]   location: class Olympiad
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\model\entity\olympiad\Olympiad.java:1720: error: cannot find symbol
    [javac] 		CreatureSay cs = new CreatureSay(0, Say2.ANNOUNCEMENT, "", "Olympiad period ends in " + numDays + " days, " + numHours + " hours and " + numMins + " mins.");
    [javac] 		                     ^
    [javac]   symbol:   class CreatureSay
    [javac]   location: class Olympiad
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\model\entity\olympiad\Olympiad.java:1720: error: cannot find symbol
    [javac] 		CreatureSay cs = new CreatureSay(0, Say2.ANNOUNCEMENT, "", "Olympiad period ends in " + numDays + " days, " + numHours + " hours and " + numMins + " mins.");
    [javac] 		                                    ^
    [javac]   symbol:   variable Say2
    [javac]   location: class Olympiad
    [javac] 6 errors
    [javac] 1 warning

BUILD FAILED
C:\workspace\L2Private\trunk\gameserver\build.xml:65: Compile failed; see the compiler error output for details.

Total time: 6 seconds

What is worng ?

Edited by Selim
  • 0
Posted

Your 3 first errors refer to the "static" keyword to drop.

 

Your others errors come from the fact you missed to save the file (saving the file is supposed to fix imports), and CreatureSay class hasn't be imported. CreatureSay exists on L2JFrozen (network.serverpackets).

  • 0
Posted

I cant't fix it, my experience with java is too small and i don't understant what you mean with "static" keyword to drop, and second i save files before compile.

  • 0
Posted

i don't understant what you mean with "static" keyword to drop

 

lol

 

 

public static void olympiadEnd(L2PcInstance player)

 

drop teh static word..

  • 0
Posted

My english is not perfect, java skills too that's why i not understand it, you think "he is noob" maybe fix for it is simple, but i dont know how... when i start this post i say "i'm learning java"

 

You can't give me good code ? Then i can see what you mean :)

  • 0
Posted

public static void olympiadEnd(L2PcInstance player)

 

remove "Static"

 

public void olympiadEnd(L2PcInstance player)

  • 0
Posted (edited)

Ech ok i understand finally ;p You mean remove word "static" from code;p

 

But still have others 3 errors with creaturesay

 

Btw when delete static from code i have 1 more error:

    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\EnterWorld.java:687: error: non-static method olympiadEnd(L2PcInstance) cannot be referenced from a static context
    [javac] 			Olympiad.olympiadEnd(activeChar);
    [javac] 		
Edited by Selim
  • 0
Posted (edited)

Missing import, move your cursor over the error and press "Import net.sf.l2j" blabla or similar "Import Say2" I dont remember exact msg. Or simpy press Ctrl+Shift+O for auto import :D

Edited by SweeTs
  • 0
Posted (edited)

Ok finally i understand you ;p i add missing import creature say and delete "static" but i have 1 more error when i compile:

Buildfile: C:\workspace\L2Private\trunk\gameserver\build.xml
prepare-local:
prepare-final:
init:
version:
     [echo] L2jFrozen Gameserver Revision: exported
compile:
    [javac] Compiling 714 source files to C:\workspace\L2Private\trunk\gameserver\build\classes
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
    [javac] C:\workspace\L2Private\trunk\gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\EnterWorld.java:715: error: non-static method olympiadEnd(L2PcInstance) cannot be referenced from a static context
    [javac] 			Olympiad.olympiadEnd(activeChar);
    [javac] 			        ^
    [javac] 1 error
    [javac] 1 warning

BUILD FAILED
C:\workspace\L2Private\trunk\gameserver\build.xml:65: Compile failed; see the compiler error output for details.

Total time: 6 seconds

ok i fix it, i change this line 142 in olympiad.java:

protected int _period;

to:

protected static int _period;

And compile succes, when i log i have on first place announce with oly end but with 61616 days 12h 0min left, and when i relog the same, i set //manualhero and restart srv and still the same.

 

You know how fix it?

Edited by Selim
Guest
This topic is now closed to further replies.


×
×
  • Create New...