Summer2021
Heir
Нашел на просторах интернета Пассивный Споил под сборку ПВ. Помогите переделать под нашу сборку.
Java:
package calypso;
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.cache.Static;
import net.sf.l2j.gameserver.model.L2Attackable;
import net.sf.l2j.gameserver.model.L2Attackable.RewardItem;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.player.CharListenerList;
import net.sf.l2j.gameserver.model.actor.player.OnKillListener;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;
import net.sf.l2j.gameserver.network.serverpackets.ItemList;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
/**
*
* @author CalypsoToolz
*
*/
public class AutoSpoil implements OnKillListener {
// итем который должен быть в сумке
private static final int ITEM = 4037;
public static void main(String[] args) {
CharListenerList.addGlobal(new AutoSpoil());
}
@Override
public void onKill(L2Character killer, L2Character target) {
if (killer.getPlayer() != null && target instanceof L2Attackable) {
L2PcInstance player = killer.getPlayer();
L2Attackable mob = (L2Attackable) target;
if(mob.isSpoil())
return;
if (player.getItemCount(ITEM) > 0) {
mob.setSpoil(true);
mob.setIsSpoiledBy(killer.getObjectId());
player.sendPacket(Static.SPOIL_SUCCESS);
mob.makeSweepDrop(player);
RewardItem[] items = null;
boolean isSweeping = false;
synchronized (target) {
if (mob.isSweepActive()) {
items = mob.takeSweep();
isSweeping = true;
}
}
if (!isSweeping || items == null || items.length == 0)
return;
InventoryUpdate iu = Config.FORCE_INVENTORY_UPDATE ? null : new InventoryUpdate();
boolean send = false;
for (RewardItem ritem : items) {
if (player.isInParty())
player.getParty().distributeItem(player, ritem, true, mob);
else {
L2ItemInstance item = player.getInventory().addItem("Sweep", ritem.getItemId(),
ritem.getCount(), player, target);
if (iu != null)
iu.addItem(item);
send = true;
SystemMessage smsg;
if (ritem.getCount() > 1)
smsg = SystemMessage.id(SystemMessageId.EARNED_S2_S1_S).addItemName(ritem.getItemId())
.addNumber(ritem.getCount());
else
smsg = SystemMessage.id(SystemMessageId.EARNED_ITEM).addItemName(ritem.getItemId());
player.sendPacket(smsg);
}
}
if (send) {
if (iu != null)
player.sendPacket(iu);
else
player.sendPacket(new ItemList(player, false));
}
mob.endDecayTask();
}
}
}
}