Core
Сборка: еволюшин последняя(ла2бейз)
Краткое изложение СУТИ проблемы: Как зделать итем при нажатия на который игрок себя бафнет!
Вопрос: Как зделать такой предмет,я так понимаю это в ядре,прошу тогда помоч с кодом! Спасибками не обижу ![]()
— Ушол в себя - вернусь не скоро...
Где то на форуме видел бафы денсов и сонгов в скроллах.
Поищи, на их примере можешь сделать.
dimoN4iK: Сборка: еволюшин последняя(ла2бейз)
Краткое изложение СУТИ проблемы: Как зделать итем при нажатия на который игрок себя бафнет!
Вопрос: Как зделать такой предмет,я так понимаю это в ядре,прошу тогда помоч с кодом! Спасибками не обижу
Берём свиток который тебе нужен смотрим ИД ,заходим в таблицу etcitem
ищи там этот свиток и в столбике Skill пиши ид скила
Вроде так можно ещё :)
у меня есть мануал по скролам,но там не для базы(( и ещё скролл он типо юзается 1 раз и ищезает а мне надо что бы как итем бафатся сколько хочеш!
— Ушол в себя - вернусь не скоро...
Можно и не через ядро,просто найди скролы,там айди скилов пропиши и всё,и поидеи всё должно юзатся ![]()
Kykypyzo: Можно и не через ядро,просто найди скролы,там айди скилов пропиши и всё,и поидеи всё должно юзатся
сам понял что сказал? Существует скро вики?
— Ушол в себя - вернусь не скоро...
Проще через голосовую команду сделать бафф, скрипт есть почти на каждом сайте о л2яве)
GMNCSoft: Проще через голосовую команду сделать бафф, скрипт есть почти на каждом сайте о л2яве)
Хватит словами бросатся! Есть? - Ну дак покажи где?
— Ушол в себя - вернусь не скоро...
dimoN4iK: сам понял что сказал? Существует скро вики?
А кто мешает его сделать самостоятельно?
VlLight: А кто мешает его сделать самостоятельно?
Я
p.s: привязка скила к итему через ядро, без исходов не чего сделать нельзя.
— Оо
-=[BloodKill]=-:
Я![]()
p.s: привязка скила к итему через ядро, без исходов не чего сделать нельзя.
Вы мне код дайте,а исходы моя проблема!
— Ушол в себя - вернусь не скоро...
Ну например я под RT 1.4.1.6 делал вот так:
1.это через команду .buff
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.cache.HtmCache;
import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.handler.VoicedCommandHandler;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.serverpackets.*;
public class Buffs implements IVoicedCommandHandler
{
public Buffs()
{
System.out.println("Enchanted commands succesfully loaded.");
VoicedCommandHandler.getInstance().registerVoicedCommandHandler(this);
}
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
if(command.equalsIgnoreCase("buff"))
{
if (activeChar.isMovementDisabled() || activeChar.isMuted() || activeChar.isAlikeDead() || activeChar.isAllSkillsDisabled())
{
activeChar.sendMessage("You can't use buff at this time!");
return false;
}
if (activeChar.isDead())
{
activeChar.sendMessage("You can't use buff While you are dead!");
return false;
}
// Check player if is sitting
if (activeChar.isSitting())
{
activeChar.sendMessage("You can't use buff While you are seating!");
return false;
}
//check is in DimensionsRift
if (activeChar.isInParty() && activeChar.getParty().isInDimensionalRift())
{
activeChar.sendMessage("You can't use buff! You are in the dimensional rift.");
return false;
}
// Check player is in observer mode
if (activeChar.inObserverMode())
{
activeChar.sendMessage("You can't use buff in Observer mode!");
return false;
}
// Check player is in Olympiad mode
if (activeChar.isInOlympiadMode())
{
activeChar.sendMessage("You can't use buff in Olympiad mode!");
return false;
}
// Check to see if the player is in a festival.
if (activeChar.isFestivalParticipant())
{
activeChar.sendPacket(SystemMessage.sendString("You may not use buff in a festival."));
return false;
}
// Check to see if player is in jail
if (activeChar.isInJail())
{
activeChar.sendPacket(SystemMessage.sendString("You can not use buff jail."));
return false;
}
// Check to see if player is in a duel
if (activeChar.isInDuel())
{
activeChar.sendPacket(SystemMessage.sendString("You cannot use buff during a duel."));
return false;
}
if (activeChar.isInBossZone())
{
activeChar.sendPacket(SystemMessage.sendString("You cannot use buff in RaidBoss Zone"));
return false;
}
activeChar.sendMessage("You got fighter buff.");
L2Skill fbuff01 = SkillTable.getInstance().getInfo(275, 1);
fbuff01.getEffects(activeChar, activeChar);
L2Skill fbuff02 = SkillTable.getInstance().getInfo(271, 1);
fbuff02.getEffects(activeChar, activeChar);
L2Skill fbuff03 = SkillTable.getInstance().getInfo(274, 1);
fbuff03.getEffects(activeChar, activeChar);
L2Skill fbuff04 = SkillTable.getInstance().getInfo(264, 1);
fbuff04.getEffects(activeChar, activeChar);
L2Skill fbuff05 = SkillTable.getInstance().getInfo(304, 1);
fbuff05.getEffects(activeChar, activeChar);
L2Skill fbuff06 = SkillTable.getInstance().getInfo(267, 1);
fbuff06.getEffects(activeChar, activeChar);
L2Skill fbuff07 = SkillTable.getInstance().getInfo(1240, 3);
fbuff07.getEffects(activeChar, activeChar);
L2Skill fbuff08 = SkillTable.getInstance().getInfo(1035, 4);
fbuff08.getEffects(activeChar, activeChar);
L2Skill fbuff09 = SkillTable.getInstance().getInfo(1068, 3);
fbuff09.getEffects(activeChar, activeChar);
L2Skill fbuff10 = SkillTable.getInstance().getInfo(1045, 6);
fbuff10.getEffects(activeChar, activeChar);
L2Skill fbuff11 = SkillTable.getInstance().getInfo(1048, 6);
fbuff11.getEffects(activeChar, activeChar);
L2Skill fbuff12 = SkillTable.getInstance().getInfo(1077, 3);
fbuff12.getEffects(activeChar, activeChar);
L2Skill fbuff13 = SkillTable.getInstance().getInfo(1086, 2);
fbuff13.getEffects(activeChar, activeChar);
L2Skill fbuff14 = SkillTable.getInstance().getInfo(1036, 2);
fbuff14.getEffects(activeChar, activeChar);
L2Skill fbuff15 = SkillTable.getInstance().getInfo(1040, 3);
fbuff15.getEffects(activeChar, activeChar);
L2Skill fbuff16 = SkillTable.getInstance().getInfo(1242, 3);
fbuff16.getEffects(activeChar, activeChar);
L2Skill fbuff17 = SkillTable.getInstance().getInfo(1062, 2);
fbuff17.getEffects(activeChar, activeChar);
L2Skill fbuff18 = SkillTable.getInstance().getInfo(1388, 3);
fbuff18.getEffects(activeChar, activeChar);
L2Skill fbuff19 = SkillTable.getInstance().getInfo(1268, 4);
fbuff19.getEffects(activeChar, activeChar);
L2Skill fbuff20 = SkillTable.getInstance().getInfo(1259, 4);
fbuff20.getEffects(activeChar, activeChar);
L2Skill fbuff21 = SkillTable.getInstance().getInfo(1243, 6);
fbuff21.getEffects(activeChar, activeChar);
L2Skill fbuff22 = SkillTable.getInstance().getInfo(1087, 3);
fbuff22.getEffects(activeChar, activeChar);
L2Skill fbuff23 = SkillTable.getInstance().getInfo(1204, 2);
fbuff23.getEffects(activeChar, activeChar);
L2Skill fbuff24 = SkillTable.getInstance().getInfo(349, 1);
fbuff24.getEffects(activeChar, activeChar);
L2Skill fbuff25 = SkillTable.getInstance().getInfo(364, 1);
fbuff25.getEffects(activeChar, activeChar);
}
2. А так-бы через итем делал-бы так: (не проверял...)
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.handler.ItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.serverpackets.ActionFailed;
import net.sf.l2j.gameserver.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
public class buffitem implements IItemHandler
{
private static final int[] ITEM_IDS = { 11006,11007};
public buffitem()
{
ItemHandler.getInstance().registerItemHandler(this);
}
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
L2PcInstance activeChar;
if (playable instanceof L2PcInstance)
activeChar = (L2PcInstance)playable;
else if (playable instanceof L2PetInstance)
activeChar = ((L2PetInstance)playable).getOwner();
else
return;
if (activeChar.isAllSkillsDisabled())
{
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
return;
}
int itemId = item.getItemId();
if (itemId >= 11006 && itemId <= 11007)
{
if (!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 11006: // Fighter
activeChar.sendMessage("You got fighter buff.");
L2Skill fbuff01 = SkillTable.getInstance().getInfo(275, 1);
fbuff01.getEffects(activeChar, activeChar);
L2Skill fbuff02 = SkillTable.getInstance().getInfo(271, 1);
fbuff02.getEffects(activeChar, activeChar);
L2Skill fbuff03 = SkillTable.getInstance().getInfo(274, 1);
fbuff03.getEffects(activeChar, activeChar);
L2Skill fbuff04 = SkillTable.getInstance().getInfo(264, 1);
fbuff04.getEffects(activeChar, activeChar);
L2Skill fbuff05 = SkillTable.getInstance().getInfo(304, 1);
fbuff05.getEffects(activeChar, activeChar);
L2Skill fbuff06 = SkillTable.getInstance().getInfo(267, 1);
fbuff06.getEffects(activeChar, activeChar);
L2Skill fbuff07 = SkillTable.getInstance().getInfo(1240, 3);
fbuff07.getEffects(activeChar, activeChar);
L2Skill fbuff08 = SkillTable.getInstance().getInfo(1035, 4);
fbuff08.getEffects(activeChar, activeChar);
L2Skill fbuff09 = SkillTable.getInstance().getInfo(1068, 3);
fbuff09.getEffects(activeChar, activeChar);
L2Skill fbuff10 = SkillTable.getInstance().getInfo(1045, 6);
fbuff10.getEffects(activeChar, activeChar);
L2Skill fbuff11 = SkillTable.getInstance().getInfo(1048, 6);
fbuff11.getEffects(activeChar, activeChar);
L2Skill fbuff12 = SkillTable.getInstance().getInfo(1077, 3);
fbuff12.getEffects(activeChar, activeChar);
L2Skill fbuff13 = SkillTable.getInstance().getInfo(1086, 2);
fbuff13.getEffects(activeChar, activeChar);
L2Skill fbuff14 = SkillTable.getInstance().getInfo(1036, 2);
fbuff14.getEffects(activeChar, activeChar);
L2Skill fbuff15 = SkillTable.getInstance().getInfo(1040, 3);
fbuff15.getEffects(activeChar, activeChar);
L2Skill fbuff16 = SkillTable.getInstance().getInfo(1242, 3);
fbuff16.getEffects(activeChar, activeChar);
L2Skill fbuff17 = SkillTable.getInstance().getInfo(1062, 2);
fbuff17.getEffects(activeChar, activeChar);
L2Skill fbuff18 = SkillTable.getInstance().getInfo(1388, 3);
fbuff18.getEffects(activeChar, activeChar);
L2Skill fbuff19 = SkillTable.getInstance().getInfo(1268, 4);
fbuff19.getEffects(activeChar, activeChar);
L2Skill fbuff20 = SkillTable.getInstance().getInfo(1259, 4);
fbuff20.getEffects(activeChar, activeChar);
L2Skill fbuff21 = SkillTable.getInstance().getInfo(1243, 6);
fbuff21.getEffects(activeChar, activeChar);
L2Skill fbuff22 = SkillTable.getInstance().getInfo(1087, 3);
fbuff22.getEffects(activeChar, activeChar);
L2Skill fbuff23 = SkillTable.getInstance().getInfo(1204, 2);
fbuff23.getEffects(activeChar, activeChar);
L2Skill fbuff24 = SkillTable.getInstance().getInfo(349, 1);
fbuff24.getEffects(activeChar, activeChar);
L2Skill fbuff25 = SkillTable.getInstance().getInfo(364, 1);
fbuff25.getEffects(activeChar, activeChar);
break;
case 11007: // Magic
activeChar.sendMessage("You got magic buff.");
L2Skill mbuff01 = SkillTable.getInstance().getInfo(276, 1);
mbuff01.getEffects(activeChar, activeChar);
L2Skill mbuff02 = SkillTable.getInstance().getInfo(273, 1);
mbuff02.getEffects(activeChar, activeChar);
L2Skill mbuff03 = SkillTable.getInstance().getInfo(264, 1);
mbuff03.getEffects(activeChar, activeChar);
L2Skill mbuff04 = SkillTable.getInstance().getInfo(304, 1);
mbuff04.getEffects(activeChar, activeChar);
L2Skill mbuff05 = SkillTable.getInstance().getInfo(267, 1);
mbuff05.getEffects(activeChar, activeChar);
L2Skill mbuff06 = SkillTable.getInstance().getInfo(1085, 3);
mbuff06.getEffects(activeChar, activeChar);
L2Skill mbuff07 = SkillTable.getInstance().getInfo(1062, 2);
mbuff07.getEffects(activeChar, activeChar);
L2Skill mbuff08 = SkillTable.getInstance().getInfo(1078, 6);
mbuff08.getEffects(activeChar, activeChar);
L2Skill mbuff09 = SkillTable.getInstance().getInfo(1059, 3);
mbuff09.getEffects(activeChar, activeChar);
L2Skill mbuff10 = SkillTable.getInstance().getInfo(1303, 2);
mbuff10.getEffects(activeChar, activeChar);
L2Skill mbuff11 = SkillTable.getInstance().getInfo(1204, 2);
mbuff11.getEffects(activeChar, activeChar);
L2Skill mbuff12 = SkillTable.getInstance().getInfo(1036, 2);
mbuff12.getEffects(activeChar, activeChar);
L2Skill mbuff13 = SkillTable.getInstance().getInfo(1040, 3);
mbuff13.getEffects(activeChar, activeChar);
L2Skill mbuff14 = SkillTable.getInstance().getInfo(1389, 3);
mbuff14.getEffects(activeChar, activeChar);
L2Skill mbuff15 = SkillTable.getInstance().getInfo(1045, 6);
mbuff15.getEffects(activeChar, activeChar);
L2Skill mbuff16 = SkillTable.getInstance().getInfo(1048, 6);
mbuff16.getEffects(activeChar, activeChar);
L2Skill mbuff17 = SkillTable.getInstance().getInfo(1397, 3);
mbuff17.getEffects(activeChar, activeChar);
L2Skill mbuff18 = SkillTable.getInstance().getInfo(349, 1);
mbuff18.getEffects(activeChar, activeChar);
L2Skill mbuff19 = SkillTable.getInstance().getInfo(363, 1);
mbuff19.getEffects(activeChar, activeChar);
break;
default:
break;
}
return;
}
// for the rest, there are no extra conditions
if (!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}
Коды не полностью.... но думаю, для хоть немного понимающих о чем речь - информация видна :)))




![-=[BloodKill]=-](/uploads/fotos/av-39301.jpg)

