<skill id="444" levels="1" name="Festive Sweeper">
<set name="mpConsume" val="12"/>
<set name="skillRadius" val="85"/>
<set name="target" val="TARGET_AREA_CORPSE_MOB"/>
<set name="skillType" val="SWEEP"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="reuseDelay" val="23000"/>
<set name="hitTime" val="500"/>
</skill>
<set name="target" val="TARGET_AURA_CORPSE_MOB" />
<set name="skillType" val="SWEEP" />
<set name="operateType" val="OP_ACTIVE" />
<set name="mpConsume" val="12" />
<set name="power" val="100" />
<set name="hitTime" val="500" />
<set name="reuseDelay" val="3000" />
<set name="castRange" val="20" />
<set name="effectRange" val="400" />
package ru.catssoftware.gameserver.handler.skillhandlers;
import ru.catssoftware.gameserver.handler.ISkillHandler;
import ru.catssoftware.gameserver.model.L2Attackable;
import ru.catssoftware.gameserver.model.L2Character;
import ru.catssoftware.gameserver.model.L2ItemInstance;
import ru.catssoftware.gameserver.model.L2Skill;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.network.SystemMessageId;
import ru.catssoftware.gameserver.network.serverpackets.InventoryUpdate;
import ru.catssoftware.gameserver.network.serverpackets.ItemList;
import ru.catssoftware.gameserver.network.serverpackets.SystemMessage;
import ru.catssoftware.gameserver.templates.skills.L2SkillType;
public class Sweep implements ISkillHandler
{
private static final L2SkillType[] SKILL_IDS = { L2SkillType.SWEEP };
public void useSkill(L2Character activeChar, L2Skill skill, L2Character... targets)
{
if (!(activeChar instanceof L2PcInstance))
return;
L2PcInstance player = (L2PcInstance) activeChar;
InventoryUpdate iu =new InventoryUpdate();
boolean send = false;
for (L2Character element : targets)
{
if (!(element instanceof L2Attackable))
continue;
L2Attackable target = (L2Attackable) element;
L2Attackable.RewardItem[] items = null;
boolean isSweeping = false;
synchronized (target)
{
if (target.isSweepActive())
{
items = target.takeSweep();
isSweeping = true;
}
}
if (isSweeping)
{
if (items == null || items.length == 0)
continue;
for (L2Attackable.RewardItem ritem : items)
{
if (player.isInParty())
player.getParty().distributeItem(player, ritem, true, target);
else
{
if (player.getInventory().validateCapacityByItemId(ritem.getItemId()))
{
L2ItemInstance item = player.getInventory().addItem("Sweep", ritem.getItemId(), ritem.getCount(), player, target);
if (iu != null)
iu.addItem(item);
send = true;
SystemMessage smsg = new SystemMessage(SystemMessageId.YOU_PICKED_UP_S1_S2);
smsg.addNumber(ritem.getCount());
smsg.addItemName(item);
player.sendPacket(smsg);
}
}
}
}
target.endDecayTask();
if (send)
{
if (iu != null)
player.sendPacket(iu);
else
player.sendPacket(new ItemList(player, false));
}
}
}
public L2SkillType[] getSkillIds()
{
return SKILL_IDS;
}
}
Оффтоп:
Ну почему нельзя просто взять что-то более адекватное? К чему эти бессмысленные триды с просьбой о помощи по компилу, без сорков, которые в шаре кстати. Это дерьмо забросили пилить в 13м году карл. Человек либо мазахист, либо дол6аё6, я хз.
Да тех же акисов на худой конец возьми, их нет-нет пилят. Да и сборок на акисах в шаре полно, на любой вкус и цвет фломастеров.Psycho, Критикуешь, предлагай что-то более подходящее для меня на первый разЯ понимаю все сложности работы с этой сборкой, но я уже немало времени потратил на нее и хочется пока запустить первое "творение" (по сути копипаст готовой сборки) для общего понимания как всё устроено.
Исходники у меня есть, но они под нулевую Lucera 1.7. А я уже скачал готовую сборку игрового сервера, где были внесены изменения и дополнения. Поэтому, вряд ли многое получится поменять через исходники.
Да, я полный новичок в этом деле и поэтому, если сталкиваюсь с проблемой, которая решается только через ядро, то, скорее всего, я оставлю этот элемент так как есть. Пишу сюда на форум с надеждой на то, что в сборке, которую я использую, мой вопрос получится решить через датапак. Ну и попутно немного стараюсь вникать в работу ядра.
Исходя из всего вышесказанного прошу строго не судить моё незнание. Я учусь, практикуюсь
Всех люблю, целую
<set name="target" val="TARGET_AURA_CORPSE_MOB" />
<set name="skillType" val="SWEEP" />
<set name="operateType" val="OP_ACTIVE" />
<set name="mpConsume" val="12" />
<set name="power" val="100" />
<set name="hitTime" val="500" />
<set name="reuseDelay" val="3000" />
<set name="castRange" val="20" />
<set name="effectRange" val="400" />
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?