private static final int _hiddenChest = 13097;
private static final int _hiddenChestRespawnDelay = 30;
private static final int _hiddenChestLocs[][] = {
{ 720001, 4 },
{ 720002, 4 },
{ 720003, 10 },
{ 720004, 10 } };
private void spawnChests()
{
L2NpcTemplate template = NpcTable.getTemplate(_hiddenChest);
if (template == null)
{
_log.warning("WARNING! Template is null for npc: " + _hiddenChest);
Thread.dumpStack();
return;
}
for (int[] loc : _hiddenChestLocs)
for (int i = 0; i < loc[1]; i++)
try
{
L2Spawn spawn = new L2Spawn(template);
spawn.setLocation(loc[0]);
spawn.setAmount(1);
spawn.setRespawnDelay(_hiddenChestRespawnDelay);
spawn.startRespawn();
L2NpcInstance npc = spawn.doSpawn(true);
// npc.setAI(new HiddenChestAI(npc));
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
}
21:04:25.113 TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.113 TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.113 TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.114 TerritoryTable.getRandomPoint: territory 720001 not found.
21:04:25.114 TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.114 TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115 TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115 TerritoryTable.getRandomPoint: territory 720002 not found.
21:04:25.115 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.116 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.117 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118 TerritoryTable.getRandomPoint: territory 720003 not found.
21:04:25.118 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.119 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.120 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.121 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.121 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122 TerritoryTable.getRandomPoint: territory 720004 not found.
21:04:25.122 TerritoryTable.getRandomPoint: territory 720004 not found.
посмотри как тут сделан.Ребят в общем делаю ивент RabbitsToRiches. по аналогии с другой сборки.
Вот код спавна ивентовых сундуков.
Код:private static final int _hiddenChest = 13097; private static final int _hiddenChestRespawnDelay = 30; private static final int _hiddenChestLocs[][] = { { 720001, 4 }, { 720002, 4 }, { 720003, 10 }, { 720004, 10 } };
И вот при запуске сервера выползают такие вот ошибки. Типа зона не найдена.Код:private void spawnChests() { L2NpcTemplate template = NpcTable.getTemplate(_hiddenChest); if (template == null) { _log.warning("WARNING! Template is null for npc: " + _hiddenChest); Thread.dumpStack(); return; } for (int[] loc : _hiddenChestLocs) for (int i = 0; i < loc[1]; i++) try { L2Spawn spawn = new L2Spawn(template); spawn.setLocation(loc[0]); spawn.setAmount(1); spawn.setRespawnDelay(_hiddenChestRespawnDelay); spawn.startRespawn(); L2NpcInstance npc = spawn.doSpawn(true); // npc.setAI(new HiddenChestAI(npc)); } catch(ClassNotFoundException e) { e.printStackTrace(); } }
Вопрос в следующем- где прописать эти зоны? Должны быть на Острове Грез.
Код:21:04:25.113 TerritoryTable.getRandomPoint: territory 720001 not found. 21:04:25.113 TerritoryTable.getRandomPoint: territory 720001 not found. 21:04:25.113 TerritoryTable.getRandomPoint: territory 720001 not found. 21:04:25.114 TerritoryTable.getRandomPoint: territory 720001 not found. 21:04:25.114 TerritoryTable.getRandomPoint: territory 720002 not found. 21:04:25.114 TerritoryTable.getRandomPoint: territory 720002 not found. 21:04:25.115 TerritoryTable.getRandomPoint: territory 720002 not found. 21:04:25.115 TerritoryTable.getRandomPoint: territory 720002 not found. 21:04:25.115 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.116 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.116 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.116 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.117 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.117 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.117 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.118 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.118 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.118 TerritoryTable.getRandomPoint: territory 720003 not found. 21:04:25.118 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.119 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.120 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.120 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.120 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.121 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.121 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.122 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.122 TerritoryTable.getRandomPoint: territory 720004 not found. 21:04:25.122 TerritoryTable.getRandomPoint: territory 720004 not found.
Gaikotsu я с ваших ивентов пытаюсь адаптировать. Вы можете скинуть таблицу locations и файлик EventChestInstance.java ?Описываешь территорию и все.
Как конкретно - зависит от сборки. в выше приведенной реализации для феникса, территории описывались в бд, в отдельной таблице.
Для овера придется описать в хмлках спавнов, ну и сам метод спавна сундуков переписать.
INSERT INTO `locations` (`loc_id`, `name`, `loc_x`, `loc_y`, `loc_zmin`, `loc_zmax`, `radius`) VALUES
(720001, 'rabbits_to_riches', -76662, -77593, -4696, 3304, 0),
(720001, 'rabbits_to_riches', -65536, -77344, -4696, 3304, 0),
(720001, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720001, 'rabbits_to_riches', -81410, -65536, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -51267, -78666, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -44978, -75445, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -44281, -65536, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720002, 'rabbits_to_riches', -65536, -72713, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -83544, -65536, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -65536, -41699, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -80543, -39424, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -91856, -41776, -4696, 3304, 0),
(720003, 'rabbits_to_riches', -92099, -53834, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -65536, -65536, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -43060, -65536, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -44899, -44178, -4696, 3304, 0),
(720004, 'rabbits_to_riches', -65536, -43068, -4696, 3304, 0);
package npc.model;
import l2p.gameserver.model.L2Character;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.model.L2Skill;
import l2p.gameserver.model.instances.L2NpcInstance;
import l2p.gameserver.templates.L2NpcTemplate;
/**
* Используется сундуками в эвентах Trick of Transmutation и Rabbits to Riches
* @author Gaikotsu
*/
public class EventChestInstance extends L2NpcInstance
{
public EventChestInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}
@Override
public synchronized void startRegeneration()
{}
@Override
public void reduceCurrentHp(double i, double fullDamage, L2Character attacker, L2Skill skill, boolean awake, boolean standUp, boolean directHp, boolean canReflect, boolean lethal, boolean canTrigger, boolean canPvPFlag)
{}
@Override
public boolean isAutoAttackable(L2Character attacker)
{
return true;
}
@Override
public void showChatWindow(L2Player player, int val)
{}
@Override
public boolean isInvul()
{
return false;
}
@Override
public boolean isMovementDisabled()
{
return true;
}
@Override
public boolean isLethalImmune()
{
return true;
}
@Override
public boolean isFearImmune()
{
return true;
}
@Override
public boolean isParalyzeImmune()
{
return true;
}
}
Да мне главное нужны были локации. СПС огромное. Ивент уже работает- вот только все дело было в локах.З.Ы. сборка не шарная была - мы сами ее в свое время апали с грации до хф. и выкладывать ее не буду - шеф не разрешит.
ППЦ так можно год бегать и сундук не найти. Я им 1 локу прописал так они скопом появлялись в 1 месте. Проверял- Спавняться, затем из них появляются по 3 сундука- тоже нормально открываются. Я вот кажись припоминаю что на офф при использовании скила эти сундуки подсвечивались ненадолго- чтобы можно было хоть как-то найти. Ну лан если так должно быть значит так и будет. СПС еще раз.насколько помню сундуки эти модели не имеют, точнее имеют невидимую модель и "видя" использование определенного скилла, уже они спавнят сундуки которые можно открыть.
На скил реагируют- но только если находятся в одной плоскости с игроком а если сундук чуть выше или ниже то не реагируют.ну дык проверяй - реагируют ли на скилл нужный и все такое
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?