Ir para conteúdo
  • Cadastre-se
  • 0

Proteção de Drop


ManeGalinha

Pergunta

Eae Galera da jbrasil

 

Gente tem um proteção da frozen que é assim . quando tive matando um (boss ou raid)

 

Quem tira mais HP dele tem direito a pega o item Primeiro.

 

Aew so dps de uns 15 segundos que os outros players poderam pega o item que cai no chão

 

ao tentar pega o item antes dos 15 segundos Mostra a Mensagem ( Erro ao tentar pega o Item ) .

 

Como tira essa Proteção um Amigo falo que é só Tira umas Instancia no java

Link para o comentário
Compartilhar em outros sites

22 respostass a esta questão

Posts recomendados

  • 0

l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java

protected void doPickupItem(final L2Object object)
                        if (isInvul() && !isGM())
			{
				sendPacket(ActionFailed.STATIC_PACKET);
				SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
				smsg.addItemName(target.getItemId());
				sendPacket(smsg);
				smsg = null;
				return;
			}
		-	if (target.getOwnerId() != 0 && target.getOwnerId() != getObjectId() && !isInLooterParty(target.getOwnerId()))
		-	{
		-		sendPacket(ActionFailed.STATIC_PACKET);
		-		
		-		if (target.getItemId() == 57)
		-		{
		-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1_ADENA);
		-			smsg.addNumber(target.getCount());
		-			sendPacket(smsg);
		-			smsg = null;
		-		}
		-		else if (target.getCount() > 1)
		-		{
		-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S2_S1_S);
		-			smsg.addItemName(target.getItemId());
		-			smsg.addNumber(target.getCount());
		-			sendPacket(smsg);
		-			smsg = null;
		-		}
		-		else
		-		{
		-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
		-			smsg.addItemName(target.getItemId());
		-			sendPacket(smsg);
		-			smsg = null;
		-		}
		-		return;
		-	}
                        if (target.getItemId() == 57 && _inventory.getAdena() == Integer.MAX_VALUE)
                        {
                             sendMessage("You have reached the maximum amount of adena, please spend or deposit the adena so you may continue obtaining adena.");
                             return;
                        }

Já consegui aquele vasto conhecimento nesse fórum louco 😄

Link para o comentário
Compartilhar em outros sites


  • 0

Isso não é proteção , no original é assim , estou no trabalho senão te mostrava aonde retirar , mas só comentei para te dizer que isso não é proteção , é assim no original.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Isso não é proteção , no original é assim , estou no trabalho senão te mostrava aonde retirar , mas só comentei para te dizer que isso não é proteção , é assim no original.

Isso mesmo que vc falo , nos servidor rate baixo é bom , tipo se um players ta matando o boss tem um tempao ai chega outro i mata i pega o item , atrapalhando toda luga do outro Player

 

 

Que hrs vc pode me ajuda ???

Se vc sabe qual nome do arquivo posto ele aqii .

Link para o comentário
Compartilhar em outros sites

  • 0

Então amigo , meu tempo de uma hora pra outra ficou corrido , estou trabalhando durante o dia e a noite estudo programação , as coisas agora estão pesadas para mim , se eu não estudar não garanto meu emprego...Não posso te prometer que vou te ajudar a noite , mas eu vou me esforçar.

 

Tenta achar em l2iteminstance...

Editado por Tayran.JavaDev

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Up, Alguem poderia me ajudar ?


Então amigo , meu tempo de uma hora pra outra ficou corrido , estou trabalhando durante o dia e a noite estudo programação , as coisas agora estão pesadas para mim , se eu não estudar não garanto meu emprego...Não posso te prometer que vou te ajudar a noite , mas eu vou me esforçar.

 

Tenta achar em l2iteminstance...

Se eu coloca esse ( l2iteminstance ) aqii me ajudaria ??

Link para o comentário
Compartilhar em outros sites

  • 0

Up, Alguem poderia me ajudar ?

Se eu coloca esse ( l2iteminstance ) aqii me ajudaria ??

 

Não é para colocar e sim para procurar aonde está a linha referente a isso e remove-la , sabe compilar pelo menos amigo ? por que se não souber não vai adiantar.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

vc tem que remover o código por completo.

se remover o drop sera para aquele que der o ultimo ataque...

 

uma dica vc pode usar o notpad++ e localizar em arquivos assim vc acha facil onde estão exatamente.

os endereços dos arquivos que contem o código esta ai nessa imagem.

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

  • 0

Eu não falei que era para apagar o arquivo , falei que era pra procurar nele.

 

apagou o arquivo n ala so tem 6 erro :ufa:

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

  • 0

Falta apenas testar =)

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java	(working copy)
@@ -604,15 +604,6 @@
 				return;
 			}
 			
-			if (!target.getDropProtection().tryPickUp(this))
-			{
-				sendPacket(ActionFailed.STATIC_PACKET);
-				final SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
-				smsg.addItemName(target.getItemId());
-				getOwner().sendPacket(smsg);
-				return;
-			}
-			
 			if (target.getOwnerId() != 0 && target.getOwnerId() != getOwner().getObjectId() && !getOwner().isInLooterParty(target.getOwnerId()))
 			{
 				getOwner().sendPacket(ActionFailed.STATIC_PACKET);
@@ -964,11 +955,7 @@
 		dropit = getInventory().dropItem("Drop", dropit.getObjectId(), dropit.getCount(), getOwner(), this);
 		
 		if (dropit != null)
-		{
-			
-			if (protect)
-				dropit.getDropProtection().protect(getOwner());
-			
+		{			
 			LOGGER.debug("Item id to drop: " + dropit.getItemId() + " amount: " + dropit.getCount());
 			dropit.dropMe(this, getX(), getY(), getZ() + 100);
 		}
Index: head-src/com/l2jfrozen/gameserver/model/L2Attackable.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/L2Attackable.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/L2Attackable.java	(working copy)
@@ -2410,7 +2410,6 @@
 			
 			// Init the dropped L2ItemInstance and add it in the world as a visible object at the position where mob was last
 			ditem = ItemTable.getInstance().createItem("Loot", item.getItemId(), item.getCount(), mainDamageDealer, this);
-			ditem.getDropProtection().protect(mainDamageDealer);
 			ditem.dropMe(this, newX, newY, newZ);
 			
 			// Add drop to auto destroy item task
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -5472,9 +5472,6 @@
 			
 		}
 		
-		if (protectItem)
-			item.getDropProtection().protect(this);
-		
 		// Send inventory update packet
 		if (!Config.FORCE_INVENTORY_UPDATE)
 		{
@@ -5570,10 +5567,7 @@
 		{
 			item.setProtected(true);
 		}
-		
-		if (protectItem)
-			item.getDropProtection().protect(this);
-		
+				
 		// Send inventory update packet
 		if (!Config.FORCE_INVENTORY_UPDATE)
 		{
@@ -6751,7 +6745,7 @@
 				return;
 			}
 			
-			if (!target.getDropProtection().tryPickUp(this) && target.getItemId() != 8190 && target.getItemId() != 8689)
+			if (target.getItemId() != 8190 && target.getItemId() != 8689)
 			{
 				sendPacket(ActionFailed.STATIC_PACKET);
 				final SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
Index: head-src/com/l2jfrozen/gameserver/model/DropProtection.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/DropProtection.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/DropProtection.java	(working copy)
@@ -1,97 +0,0 @@
-/*
- * L2jFrozen Project - www.l2jfrozen.com 
- * 
- * 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.l2jfrozen.gameserver.model;
-
-import java.util.concurrent.ScheduledFuture;
-
-import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance;
-import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
-
-/**
- * @author DrHouse
- */
-public class DropProtection implements Runnable
-{
-	private volatile boolean _isProtected = false;
-	private L2PcInstance _owner = null;
-	private ScheduledFuture<?> _task = null;
-	
-	private static final long PROTECTED_MILLIS_TIME = 15000;
-	
-	@Override
-	public synchronized void run()
-	{
-		_isProtected = false;
-		_owner = null;
-		_task = null;
-	}
-	
-	public boolean isProtected()
-	{
-		return _isProtected;
-	}
-	
-	public L2PcInstance getOwner()
-	{
-		return _owner;
-	}
-	
-	public synchronized boolean tryPickUp(final L2PcInstance actor)
-	{
-		if (!_isProtected)
-			return true;
-		
-		if (_owner == actor)
-			return true;
-		
-		if (_owner.getParty() != null && _owner.getParty() == actor.getParty())
-			return true;
-		
-		if (_owner.getClan() != null && _owner.getClan() == actor.getClan())
-			return true;
-		
-		return false;
-	}
-	
-	public boolean tryPickUp(final L2PetInstance pet)
-	{
-		return tryPickUp(pet.getOwner());
-	}
-	
-	public synchronized void unprotect()
-	{
-		if (_task != null)
-			_task.cancel(false);
-		
-		_isProtected = false;
-		_owner = null;
-		_task = null;
-	}
-	
-	public synchronized void protect(final L2PcInstance player)
-	{
-		unprotect();
-		
-		_isProtected = true;
-		
-		if ((_owner = player) == null)
-			throw new NullPointerException("Trying to protect dropped item to null owner");
-		
-		_task = ThreadPoolManager.getInstance().scheduleGeneral(this, PROTECTED_MILLIS_TIME);
-	}
-}
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java	(working copy)
@@ -35,7 +35,6 @@
 import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
 import com.l2jfrozen.gameserver.geo.GeoData;
 import com.l2jfrozen.gameserver.managers.ItemsOnGroundManager;
-import com.l2jfrozen.gameserver.model.DropProtection;
 import com.l2jfrozen.gameserver.model.L2Augmentation;
 import com.l2jfrozen.gameserver.model.L2Character;
 import com.l2jfrozen.gameserver.model.L2Object;
@@ -74,9 +73,6 @@
 	/** The Constant _logItems. */
 	private static final java.util.logging.Logger _logItems = java.util.logging.Logger.getLogger("item");
 	
-	/** The _drop protection. */
-	private final DropProtection _dropProtection = new DropProtection();
-	
 	/**
 	 * Enumeration of locations for item.
 	 */
@@ -1613,15 +1609,6 @@
 	}
 	
 	/**
-	 * Gets the drop protection.
-	 * @return the drop protection
-	 */
-	public final DropProtection getDropProtection()
-	{
-		return _dropProtection;
-	}
-	
-	/**
 	 * Checks if is varka ketra ally quest item.
 	 * @return true, if is varka ketra ally quest item
 	 */

Nenhum suporte será dado por MP ou Skype. Por favor, não insista!

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
-    public synchronized void protect(final L2PcInstance player)
-    {
-        unprotect();
-        
-        _isProtected = true;
-        
-        if ((_owner = player) == null)
-            throw new NullPointerException("Trying to protect dropped item to null owner");
-        
-        _task = ThreadPoolManager.getInstance().scheduleGeneral(this, PROTECTED_MILLIS_TIME);
-    }
-}

Acho que vai funcionar , aí está a parte que coloca tempo para isso.

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade é..

se olhar bem na img vai perceber alguma referencias como

trypickup e maindamagedealer.

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade é..

se olhar bem na img vai perceber alguma referencias como

trypickup e maindamagedealer.

 

Sim , olhei depressa e achava que esse protect era pra outra coisa...

 

Prazer em ver você aqui de novo Guma , a L2JBrasil Sentiu sua falta !

Editado por Tayran.JavaDev

"Tente ser uma pessoa de valor , não de sucesso" - Albert Einstein

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

vlw tayran.

 

redhot foi rapido no gatinho em caçar as palavras

mas na verdade o erro foi meu em dizer pra remover td relacionado ao assunto

nem todo código é só add e sim tbm as alterações :(

 

 

edit: enfim queria da uma ajuda pro

ManeGalinha

mas parece estar ausente então vou ver um filme.

Editado por Guma

account_tiny.gif

svn | timeline

activeMember.sendMessage("Quase tudo é possível quando se tem dedicação e habilidade. Grandes trabalhos são realizados não pela força, mas pela perseverança")

Link para o comentário
Compartilhar em outros sites

  • 0

vlw tayran.

 

redhot foi rapido no gatinho em caçar as palavras

mas na verdade o erro foi meu em dizer pra remover td relacionado ao assunto

nem todo código é só add e sim tbm as alterações :(

 

 

edit: enfim queria da uma ajuda pro

ManeGalinha

mas parece estar ausente então vou ver um filme.

To aqi sim Men , agradeço a todos que estão me ajudando . vou add o mod pra ver oq da jaja vo fala aqii

 

Falta apenas testar =)

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PetInstance.java	(working copy)
@@ -604,15 +604,6 @@
 				return;
 			}
 			
-			if (!target.getDropProtection().tryPickUp(this))
-			{
-				sendPacket(ActionFailed.STATIC_PACKET);
-				final SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
-				smsg.addItemName(target.getItemId());
-				getOwner().sendPacket(smsg);
-				return;
-			}
-			
 			if (target.getOwnerId() != 0 && target.getOwnerId() != getOwner().getObjectId() && !getOwner().isInLooterParty(target.getOwnerId()))
 			{
 				getOwner().sendPacket(ActionFailed.STATIC_PACKET);
@@ -964,11 +955,7 @@
 		dropit = getInventory().dropItem("Drop", dropit.getObjectId(), dropit.getCount(), getOwner(), this);
 		
 		if (dropit != null)
-		{
-			
-			if (protect)
-				dropit.getDropProtection().protect(getOwner());
-			
+		{			
 			LOGGER.debug("Item id to drop: " + dropit.getItemId() + " amount: " + dropit.getCount());
 			dropit.dropMe(this, getX(), getY(), getZ() + 100);
 		}
Index: head-src/com/l2jfrozen/gameserver/model/L2Attackable.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/L2Attackable.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/L2Attackable.java	(working copy)
@@ -2410,7 +2410,6 @@
 			
 			// Init the dropped L2ItemInstance and add it in the world as a visible object at the position where mob was last
 			ditem = ItemTable.getInstance().createItem("Loot", item.getItemId(), item.getCount(), mainDamageDealer, this);
-			ditem.getDropProtection().protect(mainDamageDealer);
 			ditem.dropMe(this, newX, newY, newZ);
 			
 			// Add drop to auto destroy item task
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -5472,9 +5472,6 @@
 			
 		}
 		
-		if (protectItem)
-			item.getDropProtection().protect(this);
-		
 		// Send inventory update packet
 		if (!Config.FORCE_INVENTORY_UPDATE)
 		{
@@ -5570,10 +5567,7 @@
 		{
 			item.setProtected(true);
 		}
-		
-		if (protectItem)
-			item.getDropProtection().protect(this);
-		
+				
 		// Send inventory update packet
 		if (!Config.FORCE_INVENTORY_UPDATE)
 		{
@@ -6751,7 +6745,7 @@
 				return;
 			}
 			
-			if (!target.getDropProtection().tryPickUp(this) && target.getItemId() != 8190 && target.getItemId() != 8689)
+			if (target.getItemId() != 8190 && target.getItemId() != 8689)
 			{
 				sendPacket(ActionFailed.STATIC_PACKET);
 				final SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
Index: head-src/com/l2jfrozen/gameserver/model/DropProtection.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/DropProtection.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/DropProtection.java	(working copy)
@@ -1,97 +0,0 @@
-/*
- * L2jFrozen Project - www.l2jfrozen.com 
- * 
- * 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.l2jfrozen.gameserver.model;
-
-import java.util.concurrent.ScheduledFuture;
-
-import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance;
-import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
-
-/**
- * @author DrHouse
- */
-public class DropProtection implements Runnable
-{
-	private volatile boolean _isProtected = false;
-	private L2PcInstance _owner = null;
-	private ScheduledFuture<?> _task = null;
-	
-	private static final long PROTECTED_MILLIS_TIME = 15000;
-	
-	@Override
-	public synchronized void run()
-	{
-		_isProtected = false;
-		_owner = null;
-		_task = null;
-	}
-	
-	public boolean isProtected()
-	{
-		return _isProtected;
-	}
-	
-	public L2PcInstance getOwner()
-	{
-		return _owner;
-	}
-	
-	public synchronized boolean tryPickUp(final L2PcInstance actor)
-	{
-		if (!_isProtected)
-			return true;
-		
-		if (_owner == actor)
-			return true;
-		
-		if (_owner.getParty() != null && _owner.getParty() == actor.getParty())
-			return true;
-		
-		if (_owner.getClan() != null && _owner.getClan() == actor.getClan())
-			return true;
-		
-		return false;
-	}
-	
-	public boolean tryPickUp(final L2PetInstance pet)
-	{
-		return tryPickUp(pet.getOwner());
-	}
-	
-	public synchronized void unprotect()
-	{
-		if (_task != null)
-			_task.cancel(false);
-		
-		_isProtected = false;
-		_owner = null;
-		_task = null;
-	}
-	
-	public synchronized void protect(final L2PcInstance player)
-	{
-		unprotect();
-		
-		_isProtected = true;
-		
-		if ((_owner = player) == null)
-			throw new NullPointerException("Trying to protect dropped item to null owner");
-		
-		_task = ThreadPoolManager.getInstance().scheduleGeneral(this, PROTECTED_MILLIS_TIME);
-	}
-}
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java	(revision 1118)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2ItemInstance.java	(working copy)
@@ -35,7 +35,6 @@
 import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
 import com.l2jfrozen.gameserver.geo.GeoData;
 import com.l2jfrozen.gameserver.managers.ItemsOnGroundManager;
-import com.l2jfrozen.gameserver.model.DropProtection;
 import com.l2jfrozen.gameserver.model.L2Augmentation;
 import com.l2jfrozen.gameserver.model.L2Character;
 import com.l2jfrozen.gameserver.model.L2Object;
@@ -74,9 +73,6 @@
 	/** The Constant _logItems. */
 	private static final java.util.logging.Logger _logItems = java.util.logging.Logger.getLogger("item");
 	
-	/** The _drop protection. */
-	private final DropProtection _dropProtection = new DropProtection();
-	
 	/**
 	 * Enumeration of locations for item.
 	 */
@@ -1613,15 +1609,6 @@
 	}
 	
 	/**
-	 * Gets the drop protection.
-	 * @return the drop protection
-	 */
-	public final DropProtection getDropProtection()
-	{
-		return _dropProtection;
-	}
-	
-	/**
 	 * Checks if is varka ketra ally quest item.
 	 * @return true, if is varka ketra ally quest item
 	 */

Nao deu nao @RedHoT , Agr a proteção nao ta de uns 15 segundos .

Nimguem tem como Pegar . fica no chão pra smp

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, eu testei na aCis e funcionou perfeitamente! Contudo, pude constatar que na L2jFrozen existe realmente este problema ao remover este código.

 

Vou dar uma olhada no código e atualizarei o post assim que houver algum progresso!

Editado por RedHoT

Nenhum suporte será dado por MP ou Skype. Por favor, não insista!

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

 

l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java

protected void doPickupItem(final L2Object object)
                        if (isInvul() && !isGM())
			{
				sendPacket(ActionFailed.STATIC_PACKET);
				SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
				smsg.addItemName(target.getItemId());
				sendPacket(smsg);
				smsg = null;
				return;
			}
		-	if (target.getOwnerId() != 0 && target.getOwnerId() != getObjectId() && !isInLooterParty(target.getOwnerId()))
		-	{
		-		sendPacket(ActionFailed.STATIC_PACKET);
		-		
		-		if (target.getItemId() == 57)
		-		{
		-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1_ADENA);
		-			smsg.addNumber(target.getCount());
		-			sendPacket(smsg);
		-			smsg = null;
		-		}
		-		else if (target.getCount() > 1)
		-		{
		-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S2_S1_S);
		-			smsg.addItemName(target.getItemId());
		-			smsg.addNumber(target.getCount());
		-			sendPacket(smsg);
		-			smsg = null;
		-		}
		-		else
		-		{
		-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
		-			smsg.addItemName(target.getItemId());
		-			sendPacket(smsg);
		-			smsg = null;
		-		}
		-		return;
		-	}
                        if (target.getItemId() == 57 && _inventory.getAdena() == Integer.MAX_VALUE)
                        {
                             sendMessage("You have reached the maximum amount of adena, please spend or deposit the adena so you may continue obtaining adena.");
                             return;
                        }

Mt Obrigado por me Ajuda . :haha:

É Vllw a todos Tbm. !

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  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.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.