08-15-2013, 11:44 AM
Всем доброго дня! Ребят помогите пожалуйста разобраться.
Ошибка ГС
в Файле gameserver\data\zones\fortress_zones.xml прописаны точки респа
файл L2ZoneRespawn.java
При смерти и нажатии на кнопку телепорт в форт (форт есть у клана) чар остаётся лежать на месте а окошка с выбором куда места воскрешения пропадает.
Пробовал ставить рендом и не рендом точки воскрешения в зонах, оба метода не работают.
Сборка l2brick rev.1452
Ошибка ГС
Код:
- Failed running: [C] 6d RequestRestartPoint - L2J Server Version: Unsupported
Custom Version. - DP Revision: Unsupported Custom Version. ; null
java.lang.NullPointerException
at l2.brick.gameserver.model.zone.L2ZoneRespawn.getSpawnLoc(L2ZoneRespaw
n.java:83)
at l2.brick.gameserver.instancemanager.MapRegionManager.getTeleToLocatio
n(MapRegionManager.java:354)
at l2.brick.gameserver.network.clientpackets.RequestRestartPoint$DeathTa
sk.run(RequestRestartPoint.java:149)
at l2.brick.gameserver.network.clientpackets.RequestRestartPoint.runImpl
(RequestRestartPoint.java:260)
at l2.brick.gameserver.network.clientpackets.L2GameClientPacket.run(L2Ga
meClientPacket.java:62)
at l2.brick.gameserver.network.L2GameClient.run(L2GameClient.java:1027)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Код:
<spawn X="136398" Y="28901" Z="-3582" isChaotic="true" />
<spawn X="137292" Y="28485" Z="-3290" isChaotic="true" />
<spawn X="155925" Y="28554" Z="-3164" isChaotic="true" />
<spawn X="157608" Y="23866" Z="-3760" isChaotic="true" />
<spawn X="157463" Y="28770" Z="-3371" isChaotic="true" />
<spawn X="159348" Y="28561" Z="-3400" isChaotic="true" />
<spawn X="160236" Y="14119" Z="-3892" isChaotic="true" />
<spawn X="156764" Y="13774" Z="-3960" isChaotic="true" />
<spawn X="161426" Y="23055" Z="-3670" isChaotic="true" />
<spawn X="136380" Y="21899" Z="-3647" isChaotic="true" />
<spawn X="137708" Y="15640" Z="-3800" isChaotic="true" />
Код:
/*
package l2.brick.gameserver.model.zone;
import java.util.ArrayList;
import java.util.List;
import l2.brick.Config;
import l2.brick.gameserver.model.Location;
import l2.brick.util.Rnd;
/**
* Abstract zone with spawn locations
* @author DS, Nyaran (rework 10/07/2011)
*
*/
public abstract class L2ZoneRespawn extends L2ZoneType
{
private List<Location> _spawnLocs = null;
private List<Location> _otherSpawnLocs = null;
private List<Location> _chaoticSpawnLocs = null;
private List<Location> _banishSpawnLocs = null;
protected L2ZoneRespawn(int id)
{
super(id);
}
public final void addSpawn(int x, int y, int z)
{
if (_spawnLocs == null)
_spawnLocs = new ArrayList<Location>();
_spawnLocs.add(new Location(x, y, z));
}
public final void addOtherSpawn(int x, int y, int z)
{
if (_otherSpawnLocs == null)
_otherSpawnLocs = new ArrayList<Location>();
_otherSpawnLocs.add(new Location(x, y, z));
}
public final void addChaoticSpawn(int x, int y, int z)
{
if (_chaoticSpawnLocs == null)
_chaoticSpawnLocs = new ArrayList<Location>();
_chaoticSpawnLocs.add(new Location(x, y, z));
}
public final void addBanishSpawn(int x, int y, int z)
{
if (_banishSpawnLocs == null)
_banishSpawnLocs = new ArrayList<Location>();
_banishSpawnLocs.add(new Location(x, y, z));
}
public final List<Location> getSpawns()
{
return _spawnLocs;
}
[B]public final Location getSpawnLoc()
{
if (Config.RANDOM_RESPAWN_IN_TOWN_ENABLED)
return _spawnLocs.get(Rnd.get(_spawnLocs.size()));
else
return _spawnLocs.get(0);
}[/B]
public final Location getOtherSpawnLoc()
{
if (_otherSpawnLocs != null)
{
if (Config.RANDOM_RESPAWN_IN_TOWN_ENABLED)
return _otherSpawnLocs.get(Rnd.get(_otherSpawnLocs.size()));
else
return _otherSpawnLocs.get(0);
}
else
return getSpawnLoc();
}
public final Location getChaoticSpawnLoc()
{
if (_chaoticSpawnLocs != null)
{
if (Config.RANDOM_RESPAWN_IN_TOWN_ENABLED)
return _chaoticSpawnLocs.get(Rnd.get(_chaoticSpawnLocs.size()));
else
return _chaoticSpawnLocs.get(0);
}
else
return getSpawnLoc();
}
public final Location getBanishSpawnLoc()
{
if (_banishSpawnLocs != null)
{
if (Config.RANDOM_RESPAWN_IN_TOWN_ENABLED)
return _banishSpawnLocs.get(Rnd.get(_banishSpawnLocs.size()));
else
return _banishSpawnLocs.get(0);
}
else
return getSpawnLoc();
}
}
При смерти и нажатии на кнопку телепорт в форт (форт есть у клана) чар остаётся лежать на месте а окошка с выбором куда места воскрешения пропадает.
Пробовал ставить рендом и не рендом точки воскрешения в зонах, оба метода не работают.
Сборка l2brick rev.1452