Jump to content

[Share] Olympiad Protection Interlude - Gracia Final


Horus

Recommended Posts

Alright.

So I'm guessing most of you know I don't comply with Interlude Projects and I don't offer them help at all.

But this time I decided to open an exception and give help to an old friend.

Here's the result:

 

Gracia Final:

 

@Override
protected void onForcedDisconnection()
{
	if (_log.isDebugEnabled())
		_log.info("Client " + toString() + " disconnected abnormally.");
	if(_activeChar.isInOlympiadMode())
	{
		final String POINTS = "olympiad_points";
		final int charId = _activeChar.getObjectId();

		OlympiadGame game = Olympiad.getInstance().getOlympiadGames().get(_activeChar.getOlympiadGameId());

		L2PcInstance _opponent = L2World.getInstance().getPlayer(_activeChar.getOlympiadOpponentId());

		final StatsSet playerStat = Olympiad.getNobleStats(charId);
		final int playerPoints = playerStat.getInteger(POINTS);
		final int lostPoints = playerPoints / 3;

		playerStat.set(POINTS, playerPoints - lostPoints);
		Olympiad.updateNobleStats(charId, playerStat);
		SystemMessage sm = new SystemMessage(SystemMessageId.C1_HAS_LOST_S2_OLYMPIAD_POINTS);
		sm.addString(_activeChar.getName());
		sm.addNumber(lostPoints);
		_opponent.sendPacket(sm);
                       _log.info("Olympiad Fighter " + _activeChar.getName() + " has been Punished and Lost " + lostPoints + " Points.");
	}
}

 

Interlude:

 

Well just click here since I made that lool.

 

What does it do ?

Basically if the player disconnects from Olympiad (Ctrl + Alt + Del) his Olympiad Points are reduced to 1 / 3 and displays the information to his opponent. The thing is you'll have to change the visibility of some methods however, if you don't want to do this the best way is to make a new method on OlympiadGame and just call it from L2GameClient.

 

Hope you find it useful.

Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...

Well i was getting an error here:C1_HAS_LOST_S2_OLYMPIAD_POINTS until i changed it to that:S1_HAS_LOST_S2_OLYMPIAD_POINTS did i did something wrong? (interlude code latest l2j )

Link to comment
Share on other sites

you added this code?

 

 

java/net/sf/l2j/gameserver/network/SystemMessageId.java

/** 
* ID: 782<br> 
* Message: $s1 Has Lost $s2 Olympiad Points. 
*/ 
C1_HAS_LOST_S2_OLYMPIAD_POINTS(782); 

nop i just did thanks guma :D

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...