Jump to content

Recommended Posts

Posted

shot00000ua.jpg

width=1024 height=768http://img806.imageshack.us/img806/1614/shot00001b.jpg[/img]

width=1024 height=768http://img412.imageshack.us/img412/4622/shot00002bz.jpg[/img]

width=1024 height=768http://img718.imageshack.us/img718/5016/shot00003y.jpg[/img]

 

You go to do some pvps. If you make enough consecutive pvps without dye / log out, you will get a fight reward (which could be full heal, a powerful area skill cast, etc).

Posted

- 3 Consecutive kills: You get full cp/hp/mp healed

- 4 Consecutive kills: You get Invincible status for 15 secs

- 5 Consecutive kills: You cast a massive stun in a range of 900

- 15 Consecutive kills: You cast a mortal skill in a range of 900

@author BiggBoss

One of the smart ideas from you :)

Thakns for it

Posted

:o !!! Thank you biggboss for sharing with us :)

 

Btw, it is awesome!!!

 

EDIT: Btw, if someone for example take 9 kills his bot and then kill a real player and he active the killstrike? :S.... i know, ofc, impossible to do something about this...

Posted

EDIT: Btw, if someone for example take 9 kills his bot and then kill a real player and he active the killstrike? :S.... i know, ofc, impossible to do something about this...

 

This is the problem.. Maybe you can add some check like :

- not same IP

- not in the same party

- not in clan/alliance

- no low kill (maybe 15 level diff)

 

But players will always find a way to exploit this system and it's really boring.

 

PS : Nice share, thanks you.

Posted

This is the problem.. Maybe you can add some check like :

- not same IP

- not in the same party

- not in clan/alliance

- no low kill (maybe 15 level diff)

 

But players will always find a way to exploit this system and it's really boring.

 

PS : Nice share, thanks you.

 

True, true.. But hasnt l2j already a good protection against that? This AntiFeed instancemanager I mean..

Posted

Don't know. I'm using L2JFree but I will take a look about that.

 

Heh.. me too. :P

 

They synced the appropriate instancemanager a while ago too.

 

/*
* 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 com.l2jfree.gameserver.instancemanager;

import java.util.Map;

import javolution.util.FastMap;

import com.l2jfree.Config;
import com.l2jfree.gameserver.model.L2Object;
import com.l2jfree.gameserver.model.actor.L2Character;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.network.L2GameClient;

public class AntiFeedManager
{
private final Map<Integer, Long> _lastDeathTimes;

public static final AntiFeedManager getInstance()
{
	return SingletonHolder._instance;
}

private AntiFeedManager()
{
	_lastDeathTimes = new FastMap<Integer, Long>().setShared(true);
}

/**
 * Set time of the last player's death to current
 * 
 * @param objectId Player's objectId
 */
public final void setLastDeathTime(int objectId)
{
	_lastDeathTimes.put(objectId, System.currentTimeMillis());
}

/**
 * Check if current kill should be counted as non-feeded.
 * 
 * @param attacker Attacker character
 * @param target Target character
 * @return True if kill is non-feeded.
 */
public final boolean check(L2Character attacker, L2Character target)
{
	if (!Config.ANTIFEED_ENABLE)
		return true;

	final L2PcInstance targetPlayer = L2Object.getActingPlayer(target);
	final L2PcInstance attackerPlayer = L2Object.getActingPlayer(attacker);

	if (targetPlayer == null || attackerPlayer == null)
		return true;

	if (Config.ANTIFEED_INTERVAL > 0)
	{
		final Long lastDeathTime = _lastDeathTimes.get(targetPlayer.getObjectId());

		if (lastDeathTime != null && System.currentTimeMillis() - lastDeathTime.longValue() < Config.ANTIFEED_INTERVAL)
			return false;
	}

	if (Config.ANTIFEED_DUALBOX)
	{
		final L2GameClient targetClient = targetPlayer.getClient();
		final L2GameClient attackerClient = attackerPlayer.getClient();

		// unable to check ip address
		if (targetClient == null || attackerClient == null)
		{
			if (Config.ANTIFEED_DISCONNECTED_AS_DUALBOX)
				return false;
		}
		else if (targetClient.getInetAddress().equals(attackerClient.getInetAddress()))
		{
			return false;
		}
	}

	return true;
}

/**
 * Clears all timestamps
 */
public final void clear()
{
	_lastDeathTimes.clear();
}

@SuppressWarnings("synthetic-access")
private static class SingletonHolder
{
	protected static final AntiFeedManager _instance = new AntiFeedManager();
}
}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   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...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock