Бафы в виде предмета.
25 ответов628 просмотровСейчас просматривают: 1
· 28.11.2009, 19:11
Сборка: La2Base
Вопрос: Как реализовать бафы в виде предмета ( COV, POV, POW И т.д)
0
· 28.11.2009, 19:16
SunProject: Сборка: La2Base
Вопрос: Как реализовать бафы в виде предмета ( COV, POV, POW И т.д)
Ты хочешь создать что то типа свитка бафа?
0
· 28.11.2009, 19:34
Alexey: Ты хочешь создать что то типа свитка бафа?
Да.
DeadAdsl: Сборка с исходниками или без?
С исходниками.
0
· 28.11.2009, 21:36
SunProject: Помогите плиз.
Ну давай за основу возьмём допустим свитки L2Day,находим их в ядре и на подобии делаем свой :)
0
· 28.11.2009, 21:38
Alexey: Ну давай за основу возьмём допустим свитки L2Day,находим их в ядре и на подобии делаем свой :)
а как сделать чтобы не кончались они ?
0
· 28.11.2009, 21:39
snake1: а как сделать чтобы не кончались они ?
Кто они,время бафа или кол-во свитков?
0
· 28.11.2009, 22:02
asnaeb: Не проще создать пассивную копию либого скилла и прицепить его к итему?
и? и что получиться ?
если кликать будешь на него то не чего не будет)
0
· 28.11.2009, 22:03
snake1: и? и что получиться ?
если кликать будешь на него то не чего не будет)
Одеваешь итем - даётся пассивный скилл с нужными эффектами. Снимаешь - скилл убирается.
You can't feeling! No you can't feeling! And you can't feeling!
— People = Shit
0
· 28.11.2009, 22:19
MeCAiR: Одеваешь итем - даётся пассивный скилл с нужными эффектами. Снимаешь - скилл убирается.
мда...
а если мне надо несколько баффов ?? в 1 итем несколько скилов ? О_о
это сколько же итемов надо сделать ? комуто свой бафф охото))
Вот код скроллов
Раскрывающийся текст
package net.sf.l2j.gameserver.handler.itemhandlers;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.*;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.serverpackets.*;
public class Scrolls
implements IItemHandler
{
public Scrolls()
{
}
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(new ActionFailed());
return;
}
if(activeChar.isInOlympiadMode())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT)
);
return;
}
int itemId = item.getItemId();
if(itemId >= 8594 && itemId <= 8599)
{
if(activeChar.getKarma() > 0)
return;
if(itemId == 8594 && activeChar.getExpertiseIndex() == 0 || itemId == 8595 && activeChar.getExpertiseIndex() == 1 || itemId == 8596 && activeChar.getExpertiseIndex() == 2 || itemId == 8597 && activeChar.getExpertiseIndex() == 3 || itemId == 8598 && activeChar.getExpertiseIndex() == 4 || itemId == 8599 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2286, 1, 1, 0));
activeChar.reduceDeathPenaltyBuffLevel();
useScroll(activeChar, 2286, itemId - 8593);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId == 5703 || itemId >= 5803 && itemId <= 5807)
{
if(itemId == 5703 && activeChar.getExpertiseIndex() == 0 || itemId == 5803 && activeChar.getExpertiseIndex() == 1 || itemId == 5804 && activeChar.getExpertiseIndex() == 2 || itemId == 5805 && activeChar.getExpertiseIndex() == 3 || itemId == 5806 && activeChar.getExpertiseIndex() == 4 || itemId == 5807 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2168, activeChar.getExpertiseIndex() + 1, 1, 0));
useScroll(activeChar, 2168, activeChar.getExpertiseIndex() + 1);
activeChar.setCharmOfLuck(true);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId >= 8515 && itemId <= 8520)
{
if(itemId == 8515 && activeChar.getExpertiseIndex() == 0 || itemId == 8516 && activeChar.getExpertiseIndex() == 1 || itemId == 8517 && activeChar.getExpertiseIndex() == 2 || itemId == 8518 && activeChar.getExpertiseIndex() == 3 || itemId == 8519 && activeChar.getExpertiseIndex() == 4 || itemId == 8520 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 5041, 1, 1, 0));
useScroll(activeChar, 5041, 1);
activeChar.setCharmOfCourage(true);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId >= 8954 && itemId <= 8956)
{
if(activeChar.getLevel() < 76)
return;
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 8954:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 1, 1, 0));
activeChar.addExpAndSp(0L, 50000);
break;
case 8955:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 2, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 2, 1, 0));
activeChar.addExpAndSp(0L, 0x186a0);
break;
case 8956:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 3, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 3, 1, 0));
activeChar.addExpAndSp(0L, 0x30d40);
break;
}
return;
}
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 3926:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2050, 1, 1, 0));
useScroll(activeChar, 2050, 1);
break;
case 3927:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2051, 1, 1, 0));
useScroll(activeChar, 2051, 1);
break;
case 3928:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2052, 1, 1, 0));
useScroll(activeChar, 2052, 1);
break;
case 3929:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2053, 1, 1, 0));
useScroll(activeChar, 2053, 1);
break;
case 3930:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2054, 1, 1, 0));
useScroll(activeChar, 2054, 1);
break;
case 3931:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2055, 1, 1, 0));
useScroll(activeChar, 2055, 1);
break;
case 3932:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2056, 1, 1, 0));
useScroll(activeChar, 2056, 1);
break;
case 3933:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2057, 1, 1, 0));
useScroll(activeChar, 2057, 1);
break;
case 3934:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2058, 1, 1, 0));
useScroll(activeChar, 2058, 1);
break;
case 3935:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2059, 1, 1, 0));
useScroll(activeChar, 2059, 1);
break;
case 4218:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2064, 1, 1, 0));
useScroll(activeChar, 2064, 1);
break;
case 50000:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9901, 1, 1, 0));
useScroll(activeChar, 9901, 1);
break;
case 50001:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9902, 1, 1, 0));
useScroll(activeChar, 9902, 1);
break;
case 50002:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9903, 1, 1, 0));
useScroll(activeChar, 9903, 1);
break;
case 50003:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9904, 1, 1, 0));
useScroll(activeChar, 9904, 1);
break;
case 50004:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9905, 1, 1, 0));
useScroll(activeChar, 9905, 1);
break;
case 50005:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9906, 1, 1, 0));
useScroll(activeChar, 9906, 1);
break;
case 50006:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9907, 1, 1, 0));
useScroll(activeChar, 9907, 1);
break;
case 50007:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9908, 1, 1, 0));
useScroll(activeChar, 9908, 1);
break;
case 50008:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9909, 1, 1, 0));
useScroll(activeChar, 9909, 1);
break;
case 50009:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9910, 1, 1, 0));
useScroll(activeChar, 9910, 1);
break;
case 50010:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9911, 1, 1, 0));
useScroll(activeChar, 9911, 1);
break;
case 50011:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9912, 1, 1, 0));
useScroll(activeChar, 9912, 1);
break;
case 50012:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9913, 1, 1, 0));
useScroll(activeChar, 9913, 1);
break;
case 50013:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9914, 1, 1, 0));
useScroll(activeChar, 9914, 1);
break;
case 50014:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9915, 1, 1, 0));
useScroll(activeChar, 9915, 1);
break;
case 50015:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9916, 1, 1, 0));
useScroll(activeChar, 9916, 1);
break;
case 50016:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9917, 1, 1, 0));
useScroll(activeChar, 9917, 1);
break;
case 50017:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9918, 1, 1, 0));
useScroll(activeChar, 9918, 1);
break;
case 50018:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9919, 1, 1, 0));
useScroll(activeChar, 9919, 1);
break;
case 50019:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9920, 1, 1, 0));
useScroll(activeChar, 9920, 1);
break;
case 50020:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9921, 1, 1, 0));
useScroll(activeChar, 9921, 1);
break;
case 50021:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9922, 1, 1, 0));
useScroll(activeChar, 9922, 1);
break;
case 50022:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9923, 1, 1, 0));
useScroll(activeChar, 9923, 1);
break;
case 50023:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9924, 1, 1, 0));
useScroll(activeChar, 9924, 1);
break;
case 50024:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9925, 1, 1, 0));
useScroll(activeChar, 9925, 1);
break;
case 50025:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9926, 1, 1, 0));
useScroll(activeChar, 9926, 1);
break;
case 50026:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9927, 1, 1, 0));
useScroll(activeChar, 9927, 1);
break;
case 50027:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9928, 1, 1, 0));
useScroll(activeChar, 9928, 1);
break;
case 50028:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9929, 1, 1, 0));
useScroll(activeChar, 9929, 1);
break;
case 50029:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9930, 1, 1, 0));
useScroll(activeChar, 9930, 1);
break;
case 5593:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 500);
break;
case 5594:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 5000);
break;
case 5595:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 0x186a0);
break;
case 6037:
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2170, 1, 1, 0));
useScroll(activeChar, 2170, 1);
break;
case 9146:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2050, 1, 1, 0));
useScroll(activeChar, 2050, 1);
break;
case 9147:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2051, 1, 1, 0));
useScroll(activeChar, 2051, 1);
break;
case 9148:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2052, 1, 1, 0));
useScroll(activeChar, 2052, 1);
break;
case 9149:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2053, 1, 1, 0));
useScroll(activeChar, 2053, 1);
break;
case 9150:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2054, 1, 1, 0));
useScroll(activeChar, 2054, 1);
break;
case 9151:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2055, 1, 1, 0));
useScroll(activeChar, 2055, 1);
break;
case 9152:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2056, 1, 1, 0));
useScroll(activeChar, 2056, 1);
break;
case 9153:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2057, 1, 1, 0));
useScroll(activeChar, 2057, 1);
break;
case 9154:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2058, 1, 1, 0));
useScroll(activeChar, 2058, 1);
break;
case 9155:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2059, 1, 1, 0));
useScroll(activeChar, 2059, 1);
break;
}
}
public void useScroll(L2PcInstance activeChar, int magicId, int level)
{
net.sf.l2j.gameserver.model.L2Skill skill = SkillTable.getInstance().getInfo(magicId, level);
if(skill != null)
activeChar.doCast(skill);
}
public int[] getItemIds()
{
return ITEM_IDS;
}
private static final int ITEM_IDS[] = {
3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935,
4218, 5593, 5594, 5595, 6037, 5703, 5803, 5804, 5805, 5806,
5807, 8515, 8516, 8517, 8518, 8519, 8520, 8594, 8595, 8596,
8597, 8598, 8599, 8954, 8955, 8956, 9146, 9147, 9148, 9149,
9150, 9151, 9152, 9153, 9154, 9155, 50000, 50001, 50002, 50003,
50004, 50005, 50006, 50007, 50008, 50009, 50010, 50011, 50012, 50013,
50015, 50016, 50017, 50018, 50019, 50020, 50021, 50022, 50023, 50024,
50025, 50014, 50026, 50027, 50028, 50029
};
}
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.*;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.serverpackets.*;
public class Scrolls
implements IItemHandler
{
public Scrolls()
{
}
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(new ActionFailed());
return;
}
if(activeChar.isInOlympiadMode())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT)
);
return;
}
int itemId = item.getItemId();
if(itemId >= 8594 && itemId <= 8599)
{
if(activeChar.getKarma() > 0)
return;
if(itemId == 8594 && activeChar.getExpertiseIndex() == 0 || itemId == 8595 && activeChar.getExpertiseIndex() == 1 || itemId == 8596 && activeChar.getExpertiseIndex() == 2 || itemId == 8597 && activeChar.getExpertiseIndex() == 3 || itemId == 8598 && activeChar.getExpertiseIndex() == 4 || itemId == 8599 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2286, 1, 1, 0));
activeChar.reduceDeathPenaltyBuffLevel();
useScroll(activeChar, 2286, itemId - 8593);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId == 5703 || itemId >= 5803 && itemId <= 5807)
{
if(itemId == 5703 && activeChar.getExpertiseIndex() == 0 || itemId == 5803 && activeChar.getExpertiseIndex() == 1 || itemId == 5804 && activeChar.getExpertiseIndex() == 2 || itemId == 5805 && activeChar.getExpertiseIndex() == 3 || itemId == 5806 && activeChar.getExpertiseIndex() == 4 || itemId == 5807 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2168, activeChar.getExpertiseIndex() + 1, 1, 0));
useScroll(activeChar, 2168, activeChar.getExpertiseIndex() + 1);
activeChar.setCharmOfLuck(true);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId >= 8515 && itemId <= 8520)
{
if(itemId == 8515 && activeChar.getExpertiseIndex() == 0 || itemId == 8516 && activeChar.getExpertiseIndex() == 1 || itemId == 8517 && activeChar.getExpertiseIndex() == 2 || itemId == 8518 && activeChar.getExpertiseIndex() == 3 || itemId == 8519 && activeChar.getExpertiseIndex() == 4 || itemId == 8520 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 5041, 1, 1, 0));
useScroll(activeChar, 5041, 1);
activeChar.setCharmOfCourage(true);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId >= 8954 && itemId <= 8956)
{
if(activeChar.getLevel() < 76)
return;
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 8954:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 1, 1, 0));
activeChar.addExpAndSp(0L, 50000);
break;
case 8955:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 2, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 2, 1, 0));
activeChar.addExpAndSp(0L, 0x186a0);
break;
case 8956:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 3, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 3, 1, 0));
activeChar.addExpAndSp(0L, 0x30d40);
break;
}
return;
}
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 3926:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2050, 1, 1, 0));
useScroll(activeChar, 2050, 1);
break;
case 3927:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2051, 1, 1, 0));
useScroll(activeChar, 2051, 1);
break;
case 3928:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2052, 1, 1, 0));
useScroll(activeChar, 2052, 1);
break;
case 3929:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2053, 1, 1, 0));
useScroll(activeChar, 2053, 1);
break;
case 3930:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2054, 1, 1, 0));
useScroll(activeChar, 2054, 1);
break;
case 3931:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2055, 1, 1, 0));
useScroll(activeChar, 2055, 1);
break;
case 3932:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2056, 1, 1, 0));
useScroll(activeChar, 2056, 1);
break;
case 3933:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2057, 1, 1, 0));
useScroll(activeChar, 2057, 1);
break;
case 3934:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2058, 1, 1, 0));
useScroll(activeChar, 2058, 1);
break;
case 3935:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2059, 1, 1, 0));
useScroll(activeChar, 2059, 1);
break;
case 4218:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2064, 1, 1, 0));
useScroll(activeChar, 2064, 1);
break;
case 50000:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9901, 1, 1, 0));
useScroll(activeChar, 9901, 1);
break;
case 50001:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9902, 1, 1, 0));
useScroll(activeChar, 9902, 1);
break;
case 50002:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9903, 1, 1, 0));
useScroll(activeChar, 9903, 1);
break;
case 50003:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9904, 1, 1, 0));
useScroll(activeChar, 9904, 1);
break;
case 50004:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9905, 1, 1, 0));
useScroll(activeChar, 9905, 1);
break;
case 50005:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9906, 1, 1, 0));
useScroll(activeChar, 9906, 1);
break;
case 50006:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9907, 1, 1, 0));
useScroll(activeChar, 9907, 1);
break;
case 50007:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9908, 1, 1, 0));
useScroll(activeChar, 9908, 1);
break;
case 50008:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9909, 1, 1, 0));
useScroll(activeChar, 9909, 1);
break;
case 50009:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9910, 1, 1, 0));
useScroll(activeChar, 9910, 1);
break;
case 50010:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9911, 1, 1, 0));
useScroll(activeChar, 9911, 1);
break;
case 50011:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9912, 1, 1, 0));
useScroll(activeChar, 9912, 1);
break;
case 50012:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9913, 1, 1, 0));
useScroll(activeChar, 9913, 1);
break;
case 50013:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9914, 1, 1, 0));
useScroll(activeChar, 9914, 1);
break;
case 50014:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9915, 1, 1, 0));
useScroll(activeChar, 9915, 1);
break;
case 50015:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9916, 1, 1, 0));
useScroll(activeChar, 9916, 1);
break;
case 50016:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9917, 1, 1, 0));
useScroll(activeChar, 9917, 1);
break;
case 50017:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9918, 1, 1, 0));
useScroll(activeChar, 9918, 1);
break;
case 50018:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9919, 1, 1, 0));
useScroll(activeChar, 9919, 1);
break;
case 50019:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9920, 1, 1, 0));
useScroll(activeChar, 9920, 1);
break;
case 50020:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9921, 1, 1, 0));
useScroll(activeChar, 9921, 1);
break;
case 50021:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9922, 1, 1, 0));
useScroll(activeChar, 9922, 1);
break;
case 50022:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9923, 1, 1, 0));
useScroll(activeChar, 9923, 1);
break;
case 50023:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9924, 1, 1, 0));
useScroll(activeChar, 9924, 1);
break;
case 50024:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9925, 1, 1, 0));
useScroll(activeChar, 9925, 1);
break;
case 50025:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9926, 1, 1, 0));
useScroll(activeChar, 9926, 1);
break;
case 50026:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9927, 1, 1, 0));
useScroll(activeChar, 9927, 1);
break;
case 50027:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9928, 1, 1, 0));
useScroll(activeChar, 9928, 1);
break;
case 50028:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9929, 1, 1, 0));
useScroll(activeChar, 9929, 1);
break;
case 50029:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9930, 1, 1, 0));
useScroll(activeChar, 9930, 1);
break;
case 5593:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 500);
break;
case 5594:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 5000);
break;
case 5595:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 0x186a0);
break;
case 6037:
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2170, 1, 1, 0));
useScroll(activeChar, 2170, 1);
break;
case 9146:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2050, 1, 1, 0));
useScroll(activeChar, 2050, 1);
break;
case 9147:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2051, 1, 1, 0));
useScroll(activeChar, 2051, 1);
break;
case 9148:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2052, 1, 1, 0));
useScroll(activeChar, 2052, 1);
break;
case 9149:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2053, 1, 1, 0));
useScroll(activeChar, 2053, 1);
break;
case 9150:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2054, 1, 1, 0));
useScroll(activeChar, 2054, 1);
break;
case 9151:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2055, 1, 1, 0));
useScroll(activeChar, 2055, 1);
break;
case 9152:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2056, 1, 1, 0));
useScroll(activeChar, 2056, 1);
break;
case 9153:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2057, 1, 1, 0));
useScroll(activeChar, 2057, 1);
break;
case 9154:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2058, 1, 1, 0));
useScroll(activeChar, 2058, 1);
break;
case 9155:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2059, 1, 1, 0));
useScroll(activeChar, 2059, 1);
break;
}
}
public void useScroll(L2PcInstance activeChar, int magicId, int level)
{
net.sf.l2j.gameserver.model.L2Skill skill = SkillTable.getInstance().getInfo(magicId, level);
if(skill != null)
activeChar.doCast(skill);
}
public int[] getItemIds()
{
return ITEM_IDS;
}
private static final int ITEM_IDS[] = {
3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935,
4218, 5593, 5594, 5595, 6037, 5703, 5803, 5804, 5805, 5806,
5807, 8515, 8516, 8517, 8518, 8519, 8520, 8594, 8595, 8596,
8597, 8598, 8599, 8954, 8955, 8956, 9146, 9147, 9148, 9149,
9150, 9151, 9152, 9153, 9154, 9155, 50000, 50001, 50002, 50003,
50004, 50005, 50006, 50007, 50008, 50009, 50010, 50011, 50012, 50013,
50015, 50016, 50017, 50018, 50019, 50020, 50021, 50022, 50023, 50024,
50025, 50014, 50026, 50027, 50028, 50029
};
}
0
· 28.11.2009, 22:33
snake1: мда...
а если мне надо несколько баффов ?? в 1 итем несколько скилов ? О_о
это сколько же итемов надо сделать ? комуто свой бафф охото))
Вот код скролловРаскрывающийся текстpackage net.sf.l2j.gameserver.handler.itemhandlers;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.handler.IItemHandler;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.*;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.serverpackets.*;
public class Scrolls
implements IItemHandler
{
public Scrolls()
{
}
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(new ActionFailed());
return;
}
if(activeChar.isInOlympiadMode())
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT)
);
return;
}
int itemId = item.getItemId();
if(itemId >= 8594 && itemId <= 8599)
{
if(activeChar.getKarma() > 0)
return;
if(itemId == 8594 && activeChar.getExpertiseIndex() == 0 || itemId == 8595 && activeChar.getExpertiseIndex() == 1 || itemId == 8596 && activeChar.getExpertiseIndex() == 2 || itemId == 8597 && activeChar.getExpertiseIndex() == 3 || itemId == 8598 && activeChar.getExpertiseIndex() == 4 || itemId == 8599 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2286, 1, 1, 0));
activeChar.reduceDeathPenaltyBuffLevel();
useScroll(activeChar, 2286, itemId - 8593);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId == 5703 || itemId >= 5803 && itemId <= 5807)
{
if(itemId == 5703 && activeChar.getExpertiseIndex() == 0 || itemId == 5803 && activeChar.getExpertiseIndex() == 1 || itemId == 5804 && activeChar.getExpertiseIndex() == 2 || itemId == 5805 && activeChar.getExpertiseIndex() == 3 || itemId == 5806 && activeChar.getExpertiseIndex() == 4 || itemId == 5807 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2168, activeChar.getExpertiseIndex() + 1, 1, 0));
useScroll(activeChar, 2168, activeChar.getExpertiseIndex() + 1);
activeChar.setCharmOfLuck(true);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId >= 8515 && itemId <= 8520)
{
if(itemId == 8515 && activeChar.getExpertiseIndex() == 0 || itemId == 8516 && activeChar.getExpertiseIndex() == 1 || itemId == 8517 && activeChar.getExpertiseIndex() == 2 || itemId == 8518 && activeChar.getExpertiseIndex() == 3 || itemId == 8519 && activeChar.getExpertiseIndex() == 4 || itemId == 8520 && activeChar.getExpertiseIndex() == 5)
{
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 5041, 1, 1, 0));
useScroll(activeChar, 5041, 1);
activeChar.setCharmOfCourage(true);
} else
{
activeChar.sendPacket(new SystemMessage(SystemMessageId.INCOMPATIBLE_ITEM_GRADE));
}
return;
}
if(itemId >= 8954 && itemId <= 8956)
{
if(activeChar.getLevel() < 76)
return;
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 8954:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 1, 1, 0));
activeChar.addExpAndSp(0L, 50000);
break;
case 8955:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 2, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 2, 1, 0));
activeChar.addExpAndSp(0L, 0x186a0);
break;
case 8956:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2306, 3, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2306, 3, 1, 0));
activeChar.addExpAndSp(0L, 0x30d40);
break;
}
return;
}
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
switch(itemId)
{
case 3926:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2050, 1, 1, 0));
useScroll(activeChar, 2050, 1);
break;
case 3927:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2051, 1, 1, 0));
useScroll(activeChar, 2051, 1);
break;
case 3928:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2052, 1, 1, 0));
useScroll(activeChar, 2052, 1);
break;
case 3929:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2053, 1, 1, 0));
useScroll(activeChar, 2053, 1);
break;
case 3930:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2054, 1, 1, 0));
useScroll(activeChar, 2054, 1);
break;
case 3931:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2055, 1, 1, 0));
useScroll(activeChar, 2055, 1);
break;
case 3932:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2056, 1, 1, 0));
useScroll(activeChar, 2056, 1);
break;
case 3933:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2057, 1, 1, 0));
useScroll(activeChar, 2057, 1);
break;
case 3934:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2058, 1, 1, 0));
useScroll(activeChar, 2058, 1);
break;
case 3935:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2059, 1, 1, 0));
useScroll(activeChar, 2059, 1);
break;
case 4218:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2064, 1, 1, 0));
useScroll(activeChar, 2064, 1);
break;
case 50000:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9901, 1, 1, 0));
useScroll(activeChar, 9901, 1);
break;
case 50001:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9902, 1, 1, 0));
useScroll(activeChar, 9902, 1);
break;
case 50002:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9903, 1, 1, 0));
useScroll(activeChar, 9903, 1);
break;
case 50003:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9904, 1, 1, 0));
useScroll(activeChar, 9904, 1);
break;
case 50004:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9905, 1, 1, 0));
useScroll(activeChar, 9905, 1);
break;
case 50005:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9906, 1, 1, 0));
useScroll(activeChar, 9906, 1);
break;
case 50006:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9907, 1, 1, 0));
useScroll(activeChar, 9907, 1);
break;
case 50007:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9908, 1, 1, 0));
useScroll(activeChar, 9908, 1);
break;
case 50008:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9909, 1, 1, 0));
useScroll(activeChar, 9909, 1);
break;
case 50009:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9910, 1, 1, 0));
useScroll(activeChar, 9910, 1);
break;
case 50010:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9911, 1, 1, 0));
useScroll(activeChar, 9911, 1);
break;
case 50011:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9912, 1, 1, 0));
useScroll(activeChar, 9912, 1);
break;
case 50012:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9913, 1, 1, 0));
useScroll(activeChar, 9913, 1);
break;
case 50013:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9914, 1, 1, 0));
useScroll(activeChar, 9914, 1);
break;
case 50014:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9915, 1, 1, 0));
useScroll(activeChar, 9915, 1);
break;
case 50015:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9916, 1, 1, 0));
useScroll(activeChar, 9916, 1);
break;
case 50016:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9917, 1, 1, 0));
useScroll(activeChar, 9917, 1);
break;
case 50017:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9918, 1, 1, 0));
useScroll(activeChar, 9918, 1);
break;
case 50018:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9919, 1, 1, 0));
useScroll(activeChar, 9919, 1);
break;
case 50019:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9920, 1, 1, 0));
useScroll(activeChar, 9920, 1);
break;
case 50020:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9921, 1, 1, 0));
useScroll(activeChar, 9921, 1);
break;
case 50021:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9922, 1, 1, 0));
useScroll(activeChar, 9922, 1);
break;
case 50022:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9923, 1, 1, 0));
useScroll(activeChar, 9923, 1);
break;
case 50023:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9924, 1, 1, 0));
useScroll(activeChar, 9924, 1);
break;
case 50024:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9925, 1, 1, 0));
useScroll(activeChar, 9925, 1);
break;
case 50025:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9926, 1, 1, 0));
useScroll(activeChar, 9926, 1);
break;
case 50026:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9927, 1, 1, 0));
useScroll(activeChar, 9927, 1);
break;
case 50027:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9928, 1, 1, 0));
useScroll(activeChar, 9928, 1);
break;
case 50028:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9929, 1, 1, 0));
useScroll(activeChar, 9929, 1);
break;
case 50029:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 9930, 1, 1, 0));
useScroll(activeChar, 9930, 1);
break;
case 5593:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 500);
break;
case 5594:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 5000);
break;
case 5595:
activeChar.sendPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2167, 1, 1, 0));
activeChar.addExpAndSp(0L, 0x186a0);
break;
case 6037:
activeChar.broadcastPacket(new MagicSkillUser(playable, playable, 2170, 1, 1, 0));
useScroll(activeChar, 2170, 1);
break;
case 9146:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2050, 1, 1, 0));
useScroll(activeChar, 2050, 1);
break;
case 9147:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2051, 1, 1, 0));
useScroll(activeChar, 2051, 1);
break;
case 9148:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2052, 1, 1, 0));
useScroll(activeChar, 2052, 1);
break;
case 9149:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2053, 1, 1, 0));
useScroll(activeChar, 2053, 1);
break;
case 9150:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2054, 1, 1, 0));
useScroll(activeChar, 2054, 1);
break;
case 9151:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2055, 1, 1, 0));
useScroll(activeChar, 2055, 1);
break;
case 9152:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2056, 1, 1, 0));
useScroll(activeChar, 2056, 1);
break;
case 9153:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2057, 1, 1, 0));
useScroll(activeChar, 2057, 1);
break;
case 9154:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2058, 1, 1, 0));
useScroll(activeChar, 2058, 1);
break;
case 9155:
activeChar.broadcastPacket(new MagicSkillUser(playable, activeChar, 2059, 1, 1, 0));
useScroll(activeChar, 2059, 1);
break;
}
}
public void useScroll(L2PcInstance activeChar, int magicId, int level)
{
net.sf.l2j.gameserver.model.L2Skill skill = SkillTable.getInstance().getInfo(magicId, level);
if(skill != null)
activeChar.doCast(skill);
}
public int[] getItemIds()
{
return ITEM_IDS;
}
private static final int ITEM_IDS[] = {
3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3935,
4218, 5593, 5594, 5595, 6037, 5703, 5803, 5804, 5805, 5806,
5807, 8515, 8516, 8517, 8518, 8519, 8520, 8594, 8595, 8596,
8597, 8598, 8599, 8954, 8955, 8956, 9146, 9147, 9148, 9149,
9150, 9151, 9152, 9153, 9154, 9155, 50000, 50001, 50002, 50003,
50004, 50005, 50006, 50007, 50008, 50009, 50010, 50011, 50012, 50013,
50015, 50016, 50017, 50018, 50019, 50020, 50021, 50022, 50023, 50024,
50025, 50014, 50026, 50027, 50028, 50029
};
}
if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
убери строку .скролы не будут пропадать
0
· 28.11.2009, 22:52
CKA3KA: if(!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
return;
убери строку .скролы не будут пропадать
щас ошибка идёт.
Наверно надо место 1 поставить 0
snake1: щас ошибка идёт.
Наверно надо место 1 поставить 0
Работает :)
0
· 28.11.2009, 23:49
а на сборке без исходников есть какой-нибудь выход адекватный?
Заходи на форум..епЭ xDD
0
· 29.11.2009, 02:43
antsy: а на сборке без исходников есть какой-нибудь выход адекватный?
Можно, взять за экземпляр, я предполагаю тот-же эфект лс (активного скила). Тоесть, в момент когда одеваешь предмет, тебе даётся скил, бафаешься и снимаешь предмет. Ну это моё предположение. А вообще, проще делать по-принципу скроллов. Заменить картинку итема, и переписать код. Как бы нужно включить фантазию, и немножечко " поднапрячся ".
0
· 29.11.2009, 03:35
вам надо только бафф ?
вот держите
идёт для сборки
la2base
scoria
L2Emu
L2jfree
L2jGroup
RT
Sql
Раскрывающийся текст
думаю сами сделаете в статах какой скилл бафать ну и патч)
Делал не я :)
0
· 29.11.2009, 06:19
snake1: вам надо только бафф ?
вот держите <!--private_data=0-->
идёт для сборки
la2base
scoria
L2Emu
L2jfree
L2jGroup
RT
SqlРаскрывающийся текст<!--private_data=1-->
думаю сами сделаете в статах какой скилл бафать ну и патч)
Делал не я :)
Херовенько что без клиентской части :(
0
· 29.11.2009, 08:04
если хотите сделать чтоб предмет был бесконечный а не изчезал после каждого раза то следует делать в Potions.class
Пример:
Цитата
case 10001:
skill = SkillTable.getInstance().getInfo(1355, 1);
activeChar.stopSkillEffects(skill.getId());
skill.getEffects(activeChar, activeChar);
MSU = new MagicSkillUser(activeChar, activeChar, 4352, 1, 0, 0);
activeChar.broadcastPacket(MSU);
sm = new SystemMessage(SystemMessageId.USE_S1);
sm.addSkillName(skill.getId());
activeChar.sendPacket(sm);
return;
skill = SkillTable.getInstance().getInfo(1355, 1);
activeChar.stopSkillEffects(skill.getId());
skill.getEffects(activeChar, activeChar);
MSU = new MagicSkillUser(activeChar, activeChar, 4352, 1, 0, 0);
activeChar.broadcastPacket(MSU);
sm = new SystemMessage(SystemMessageId.USE_S1);
sm.addSkillName(skill.getId());
activeChar.sendPacket(sm);
return;
Красным показан скилл который будет бафатся на вас в данном случаи это Prophecy of Water
Зелёным показан как будет выглядеть эффект когда будете баффать pow
ЙА he Снаю Руццкий ЯсЫк ^^
Работы с клиентом пишите: 434728581.
Работы с Java-серверами : 434728581.
0
Тема закрыта для ответов








