12-30-2011, 08:40 PM
Доброго времени суток.
Исправьте пожалуйста скрипт.
Первоначально он был такой
после "метода тыка" хД
он стал таким)
помогите закончить, у меня дальше не выходит(((
исходники от emu.
Вот ошибки которые пишет ГС (я знаю что он показывает строчки в которых ошибки, но я не знаю как их исправить)
з.ы. может у кого то найдётся какойто мануальчик??
спс за внимание.
а и ещё, забыл, ГС создаёт файлик "DonateScrolls.java.error.log"
в котором пишется
Исправьте пожалуйста скрипт.
Первоначально он был такой
Код:
package items;
import javolution.util.FastMap;
import net.sf.l2j.gameserver.datatables.SkillTable;
import net.sf.l2j.gameserver.cache.Static;
import net.sf.l2j.gameserver.model.L2ItemInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUser;
import scripts.items.ItemHandler;
import scripts.items.ItemHandler;
import scripts.items.IItemHandler;
public class DonateScrolls implements IItemHandler
{
private final static FastMap<Integer, Integer[]> SCROLLS = new FastMap<Integer, Integer[]>().shared("DonateScrolls.SCROLLS");
private static int[] ITEM_IDS = null;
public DonateScrolls()
{
/**шаблон
**SCROLLS.put(итем_ид, new Integer[] { ид_баффа, уровень_баффа, ид_скилла_анимации, продолжительность_анимации(мс.)), кушать_скролл(1 да, 0 нет)) });
**/
SCROLLS.put(4355, new Integer[] { 1204, 2, 2036, 1, 0 });
SCROLLS.put(4356, new Integer[] { 269, 1, 2036, 1, 0 });
//
Integer[] tmp_ids = (Integer[]) SCROLLS.keySet().toArray(new Integer[SCROLLS.size()]);
ITEM_IDS = toIntArray(tmp_ids);
tmp_ids = null;
ItemHandler.getInstance().registerItemHandler(this);
}
public static void main (String... arguments )
{
new DonateScrolls();
}
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
if (!playable.isPlayer())
return;
L2PcInstance player = (L2PcInstance) playable;
if (player.isAllSkillsDisabled())
{
player.sendActionFailed();
return;
}
if (player.isInOlympiadMode())
{
player.sendPacket(Static.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT);
player.sendActionFailed();
return;
}
Integer[] data = SCROLLS.get(item.getItemId());
if(data != null)
{
player.stopSkillEffects(data[0]);
SkillTable.getInstance().getInfo(data[0], data[1]).getEffects(player, player);
player.broadcastPacket(new MagicSkillUser(player, player, data[2], 1, data[3], 0));
if (data[4] == 1)
player.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
}
private int[] toIntArray(Integer[] arr)
{
int[] ret = new int[arr.length];
int i = 0;
for (Integer e : arr)
ret[i++] = e.intValue();
return ret;
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}
после "метода тыка" хД
он стал таким)
Код:
package items;
import javolution.util.FastMap;
import com.l2emu.gameserver.datatables.SkillTable;
import l2emu.gameserver.cache.Static;
import l2emu.gameserver.model.L2ItemInstance;
import l2emu.gameserver.model.actor.instance.L2PcInstance;
import l2emu.gameserver.model.actor.instance.L2PlayableInstance;
import l2emu.gameserver.network.serverpackets.MagicSkillUser;
import scripts.items.ItemHandler;
import scripts.items.ItemHandler;
import scripts.items.IItemHandler;
public class DonateScrolls implements IItemHandler
{
private final static FastMap<Integer, Integer[]> SCROLLS = new FastMap<Integer, Integer[]>().shared("DonateScrolls.SCROLLS");
private static int[] ITEM_IDS = null;
public DonateScrolls()
{
/**шаблон
**SCROLLS.put(итем_ид, new Integer[] { ид_баффа, уровень_баффа, ид_скилла_анимации, продолжительность_анимации(мс.)), кушать_скролл(1 да, 0 нет)) });
**/
SCROLLS.put(250009, new Integer[] { 1363, 1, 2036, 1, 0 });
//
Integer[] tmp_ids = (Integer[]) SCROLLS.keySet().toArray(new Integer[SCROLLS.size()]);
ITEM_IDS = toIntArray(tmp_ids);
tmp_ids = null;
ItemHandler.getInstance().registerItemHandler(this);
}
public static void main (String... arguments )
{
new DonateScrolls();
}
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
{
if (!playable.isPlayer())
return;
L2PcInstance player = (L2PcInstance) playable;
if (player.isAllSkillsDisabled())
{
player.sendActionFailed();
return;
}
if (player.isInOlympiadMode())
{
player.sendPacket(Static.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT);
player.sendActionFailed();
return;
}
Integer[] data = SCROLLS.get(item.getItemId());
if(data != null)
{
player.stopSkillEffects(data[0]);
SkillTable.getInstance().getInfo(data[0], data[1]).getEffects(player, player);
player.broadcastPacket(new MagicSkillUser(player, player, data[2], 1, data[3], 0));
if (data[4] == 1)
player.destroyItem("Consume", item.getObjectId(), 1, null, false);
}
}
private int[] toIntArray(Integer[] arr)
{
int[] ret = new int[arr.length];
int i = 0;
for (Integer e : arr)
ret[i++] = e.intValue();
return ret;
}
public int[] getItemIds()
{
return ITEM_IDS;
}
}
помогите закончить, у меня дальше не выходит(((
исходники от emu.
Вот ошибки которые пишет ГС (я знаю что он показывает строчки в которых ошибки, но я не знаю как их исправить)
Код:
1. ERROR in \DonateScrolls.java (at line 9)
import com.l2emu.gameserver.model.actor.instance.L2PlayableInstance;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The import com.l2emu.gameserver.model.actor.instance.L2PlayableInstance cannot b
e resolved
----------
2. ERROR in \DonateScrolls.java (at line 10)
import com.l2emu.gameserver.network.serverpackets.MagicSkillUser;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The import com.l2emu.gameserver.network.serverpackets.MagicSkillUser cannot be r
esolved
----------
3. ERROR in \DonateScrolls.java (at line 11)
import scripts.items.ItemHandler;
^^^^^^^^^^^^^
The import scripts.items cannot be resolved
----------
4. ERROR in \DonateScrolls.java (at line 12)
import scripts.items.ItemHandler;
^^^^^^^^^^^^^
The import scripts.items cannot be resolved
----------
5. ERROR in \DonateScrolls.java (at line 13)
import scripts.items.IItemHandler;
^^^^^^^^^^^^^
The import scripts.items cannot be resolved
----------
6. ERROR in \DonateScrolls.java (at line 15)
public class DonateScrolls implements ItemHandler
^^^^^^^^^^^
ItemHandler cannot be resolved to a type
----------
7. ERROR in \DonateScrolls.java (at line 17)
private final static FastMap<Integer, Integer[]> SCROLLS = new FastMap<I
nteger, Integer[]>().shared("DonateScrolls.SCROLLS");
^^^^^^
The method shared(String) is undefined for the type FastMap<Integer,Integer[]>
----------
8. ERROR in \DonateScrolls.java (at line 31)
ItemHandler.getInstance().registerItemHandler(this);
^^^^^^^^^^^
ItemHandler cannot be resolved
----------
9. ERROR in \DonateScrolls.java (at line 39)
public void useItem(L2PlayableInstance playable, L2ItemInstance item)
^^^^^^^^^^^^^^^^^^
L2PlayableInstance cannot be resolved to a type
----------
10. ERROR in \DonateScrolls.java (at line 47)
player.sendActionFailed();
^^^^^^^^^^^^^^^^
The method sendActionFailed() is undefined for the type L2PcInstance
----------
11. ERROR in \DonateScrolls.java (at line 53)
player.sendPacket(Static.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVE
NT);
^^^^^^
Static cannot be resolved
----------
12. ERROR in \DonateScrolls.java (at line 54)
player.sendActionFailed();
^^^^^^^^^^^^^^^^
The method sendActionFailed() is undefined for the type L2PcInstance
----------
13. ERROR in \DonateScrolls.java (at line 63)
player.broadcastPacket(new MagicSkillUser(player, player, data[2], 1, da
ta[3], 0));
^^^^^^^^^^^^^^
MagicSkillUser cannot be resolved to a type
----------
13 problems (13 errors)ItemHandler cannot be resolved to a type
The import com.l2emu.gameserver.model.actor.instance.L2PlayableInstance cannot b
e resolved
The import com.l2emu.gameserver.network.serverpackets.MagicSkillUser cannot be r
esolved
The import scripts.items cannot be resolved
The import scripts.items cannot be resolved
The import scripts.items cannot be resolved
L2PlayableInstance cannot be resolved to a type
The method shared(java.lang.String) is undefined for the type javolution.util.Fa
stMap<java.lang.Integer,java.lang.Integer[]>
ItemHandler cannot be resolved
The method sendActionFailed() is undefined for the type com.l2emu.gameserver.mod
el.actor.instance.L2PcInstance
Static cannot be resolved
The method sendActionFailed() is undefined for the type com.l2emu.gameserver.mod
el.actor.instance.L2PcInstance
MagicSkillUser cannot be resolved to a type
19:35:51 [WARNING] Failed executing script: C:\server\gameserver\data\scripts\it
ems\DonateScrolls.java. See DonateScrolls.java.error.log for details.
з.ы. может у кого то найдётся какойто мануальчик??
спс за внимание.
а и ещё, забыл, ГС создаёт файлик "DonateScrolls.java.error.log"
в котором пишется
Код:
Error on: C:\server\gameserver\data\scripts\items\DonateScrolls.java.error.log
Line: -1 - Column: -1
compilation failed