Сообщений: 68
Тем: 2
Зарегистрирован: May 2014
Репутация:
-514
В чем может быть проблема начал делать линдвиор с хф но не работает телепорт хоть убейся пакет shuttle vanicle добавил teleporttolocation исправил exteleportactive добавил
Сообщений: 106
Тем: 3
Зарегистрирован: Jun 2014
1) ExTeleportToLocationActivate - триггер пустышка, опкод 0xFE, 0x154
2) TeleportToLocation - опкод 0x22
Структура:
writeD(_targetId);
writeD(_loc.x + Config.CLIENT_X_SHIFT);
writeD(_loc.y + Config.CLIENT_Y_SHIFT);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(_isValidation() ? 0x00 ? 0x01);
writeD(_loc.h);
writeD(0);
Сообщений: 68
Тем: 2
Зарегистрирован: May 2014
Репутация:
-514
TonsFun Написал:1) ExTeleportToLocationActivate - триггер пустышка, опкод 0xFE, 0x154
2) TeleportToLocation - опкод 0x22
Структура:
writeD(_targetId);
writeD(_loc.x + Config.CLIENT_X_SHIFT);
writeD(_loc.y + Config.CLIENT_Y_SHIFT);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(_isValidation() ? 0x00 ? 0x01);
writeD(_loc.h);
writeD(0);
спасибо , так и делал персонаж застревает в абнормал состоянии не понятном выйти из игры нельзя
Сообщений: 106
Тем: 3
Зарегистрирован: Jun 2014
Amaranthe Написал:спасибо , так и делал персонаж застревает в абнормал состоянии не понятном выйти из игры нельзя
включаем дебаг в среде ИДЕ и ставим логгеры. а возможно просто UI пакет не правильно составлен, и не выдает вам инфу о телепортации персонажа
Сообщений: 68
Тем: 2
Зарегистрирован: May 2014
Репутация:
-514
логеры ставить ыы UI разобран давно и проверен , эффект тот же застревает чар
Сообщений: 102
Тем: 6
Зарегистрирован: Jun 2012
Репутация:
116
А поменяй порядок отправки пакетов. То есть, допустим, сначала ExTTLA, потом TTL. Или наоборот
Сообщений: 101
Тем: 6
Зарегистрирован: Jul 2013
Репутация:
505
Amaranthe Написал:спасибо , так и делал персонаж застревает в абнормал состоянии не понятном выйти из игры нельзя
попробуй вот так
я встречался с такой проблемой только когда апал таути до глори, если не ошибаюсь там когда тп делаешь экран темнеет и все ступор.
З.Ы если не понял, или что-то не то вякнул поправьте.
Код: public class TeleportToLocation extends L2GameServerPacket
{
private int _targetId;
private Location _loc;
public TeleportToLocation(GameObject cha, Location loc)
{
_targetId = cha.getObjectId();
_loc = loc;
}
public TeleportToLocation(GameObject cha, int x, int y, int z)
{
_targetId = cha.getObjectId();
_loc = new Location(x, y, z, cha.getHeading());
}
@Override
protected final void writeImpl()
{
writeC(0x22);
writeD(_targetId);
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(0x00);
writeD(_loc.h);
writeD(0x00);
}
}
public class ExTeleportToLocationActivate extends L2GameServerPacket
{
@Override
protected final void writeImpl()
{
writeEx(0x154);
}
}
Сообщений: 68
Тем: 2
Зарегистрирован: May 2014
Репутация:
-514
DXVSI Написал:попробуй вот так
я встречался с такой проблемой только когда апал таути до глори, если не ошибаюсь там когда тп делаешь экран темнеет и все ступор.
З.Ы если не понял, или что-то не то вякнул поправьте.
Код: public class TeleportToLocation extends L2GameServerPacket
{
private int _targetId;
private Location _loc;
public TeleportToLocation(GameObject cha, Location loc)
{
_targetId = cha.getObjectId();
_loc = loc;
}
public TeleportToLocation(GameObject cha, int x, int y, int z)
{
_targetId = cha.getObjectId();
_loc = new Location(x, y, z, cha.getHeading());
}
@Override
protected final void writeImpl()
{
writeC(0x22);
writeD(_targetId);
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z + Config.CLIENT_Z_SHIFT);
writeD(0x00);
writeD(_loc.h);
writeD(0x00);
}
}
public class ExTeleportToLocationActivate extends L2GameServerPacket
{
@Override
protected final void writeImpl()
{
writeEx(0x154);
}
}
Структуры от других не чем не отличаются , а помнится что я выще писал что так оно и стоит . Кстати , да проблема в этом ступор(
Сообщений: 101
Тем: 6
Зарегистрирован: Jul 2013
Репутация:
505
Amaranthe Написал:Структуры от других не чем не отличаются , а помнится что я выще писал что так оно и стоит . Кстати , да проблема в этом ступор(
а в классе Creature методе teleToLocation всё добавил?
если нет то вот сделай так
Код: public void teleToLocation(int x, int y, int z, Reflection r)
{
if(!isTeleporting.compareAndSet(false, true)){ return; }
if(isFakeDeath())
{
breakFakeDeath();
}
abortCast(true, false);
if(!isLockedTarget())
{
setTarget(null);
}
stopMove();
if(!isBoat() && !isFlying() && !World.isWater(new Location(x, y, z), r))
{
z = GeoEngine.getHeight(x, y, z, r.getGeoIndex());
}
if(isPlayer())
{
Player player = (Player) this;
player.getListeners().onTeleport(x, y, z, r);
decayMe();
setXYZ(x, y, z);
setReflection(r);
player.setLastClientPosition(null);
player.setLastServerPosition(null);
player.sendPacket(new TeleportToLocation(player, x, y, z));
player.sendPacket(new ExTeleportToLocationActivate());
}
else
{
setXYZ(x, y, z);
setReflection(r);
broadcastPacket(new TeleportToLocation(this, x, y, z));
broadcastPacket(new ExTeleportToLocationActivate());
onTeleported();
}
}
Сообщений: 68
Тем: 2
Зарегистрирован: May 2014
Репутация:
-514
DXVSI Написал:а в классе Creature методе teleToLocation всё добавил?
если нет то вот сделай так
Код: public void teleToLocation(int x, int y, int z, Reflection r)
{
if(!isTeleporting.compareAndSet(false, true)){ return; }
if(isFakeDeath())
{
breakFakeDeath();
}
abortCast(true, false);
if(!isLockedTarget())
{
setTarget(null);
}
stopMove();
if(!isBoat() && !isFlying() && !World.isWater(new Location(x, y, z), r))
{
z = GeoEngine.getHeight(x, y, z, r.getGeoIndex());
}
if(isPlayer())
{
Player player = (Player) this;
player.getListeners().onTeleport(x, y, z, r);
decayMe();
setXYZ(x, y, z);
setReflection(r);
player.setLastClientPosition(null);
player.setLastServerPosition(null);
player.sendPacket(new TeleportToLocation(player, x, y, z));
player.sendPacket(new ExTeleportToLocationActivate());
}
else
{
setXYZ(x, y, z);
setReflection(r);
broadcastPacket(new TeleportToLocation(this, x, y, z));
broadcastPacket(new ExTeleportToLocationActivate());
onTeleported();
}
}
Спасибо за упорство , проблема заключалась в локации неправильной...
|