Рандомное положение игрока при телепорте

Eternal12

Выдающийся
Участник
Старожил I степени
Сообщения
185
Розыгрыши
0
Решения
2
Репутация
1
Реакции
39
Баллы
1 345
Хроники
  1. The 2nd Throne: Gracia
Исходники
Присутствуют
Сборка
L2Open
Вопрос. При телепортации
getPlayer().teleToLocation(115997, 17416, 10097, false);
как можно развернуть игрока в нужную сторону?
Есть ли способы, а то постоянно игрок смотрит в рандомную сторону?
StartRotation и StopRotation пробовал, но что то не то. Нужен другой способ.
Заранее спасибо.
 
У вас в опенах не шарю, но определенно есть "четвертаяя координата", хединг - єто как раз разворот персонажа, собственно можно пильнуть teleToLocation и добавить еще один параметр. А так, по дефолту, там не рендомньій разворот, скорее всего, а 0 просто.
 
У вас в опенах не шарю, но определенно есть "четвертаяя координата", хединг - єто как раз разворот персонажа, собственно можно пильнуть teleToLocation и добавить еще один параметр. А так, по дефолту, там не рендомньій разворот, скорее всего, а 0 просто.
Положение до телепорта игрока + разворот на 180 получается каждый раз. Сейчас попробую добавить 4 кординату, спасибо за подсказку.
 
Eternal12, на оверах (в том, что у меня под рукой во всяком случае) чет такое:
Код:
    public void setLoc(Location loc)
    {
        _locx = loc.x;
        _locy = loc.y;
        _locz = loc.z;
        _heading = loc.h;
    }


@Override
public final int getHeading()
{
 return _heading;
}

public void setHeading(int heading)
{
   _heading = heading;
}
 
Eternal12, на оверах (в том, что у меня под рукой во всяком случае) чет такое:
Код:
    public void setLoc(Location loc)
    {
        _locx = loc.x;
        _locy = loc.y;
        _locz = loc.z;
        _heading = loc.h;
    }


@Override
public final int getHeading()
{
 return _heading;
}

public void setHeading(int heading)
{
   _heading = heading;
}
Нашел готовый пакет по аналогу
getPlayer().broadcastPacket(new TeleportToLocation(getPlayer(), 115997, 17416, 10097, 0));
Фиксация положения произошла, но и при изменении 0 ничего не происходит.
 
Нашел готовый пакет по аналогу
getPlayer().broadcastPacket(new TeleportToLocation(getPlayer(), 115997, 17416, 10097, 0));
Фиксация положения произошла, но и при изменении 0 ничего не происходит.
Только пакета тут мало, новый азимут должен ещё и самому игроку на сервере задан.
 
4-й параметр это heading, как раз то что отвечает за угол поворотоа в мире, он может быть 0 - 65536
 
Вопрос. При телепортации
getPlayer().teleToLocation(115997, 17416, 10097, false);
как можно развернуть игрока в нужную сторону?
Есть ли способы, а то постоянно игрок смотрит в рандомную сторону?
StartRotation и StopRotation пробовал, но что то не то. Нужен другой способ.
Заранее спасибо.

getPlayer().setHeading(heading) - угол поворота.
 
getPlayer().setHeading(heading) - угол поворота.
Проверял тоже не работает, для интереса чаром повыходил несколько раз с разными направлениями. И при каждом перезаходе чар появляется в повороте 0 градусов.
 
Проверял тоже не работает, для интереса чаром повыходил несколько раз с разными направлениями. И при каждом перезаходе чар появляется в повороте 0 градусов.
А в какой момент ты отправляешь getPlayer().setHeading(heading)? Может в другом пакете идет корректировка....
Я когда то давно пробовал setHeading помойму в userInfo или как то так и все работало чар крутился. Правда я не помню нужно было или нет как то конвертировать числа которые передаются в клиент или нет...
 
Вопрос. При телепортации
getPlayer().teleToLocation(115997, 17416, 10097, false);
как можно развернуть игрока в нужную сторону?
Есть ли способы, а то постоянно игрок смотрит в рандомную сторону?
StartRotation и StopRotation пробовал, но что то не то. Нужен другой способ.
Заранее спасибо.
Возьми логику разговора с нпц, при разговоре он всегда смотрит в одну сторону
 
При телепорте направление для клиента сбрасывается. тут нужно после телепорта обновлять направление для клиента.
 
А в какой момент ты отправляешь getPlayer().setHeading(heading)? Может в другом пакете идет корректировка....
Я когда то давно пробовал setHeading помойму в userInfo или как то так и все работало чар крутился. Правда я не помню нужно было или нет как то конвертировать числа которые передаются в клиент или нет...
после координат телепорта сразу отправляю
Сообщение объединено:
Возьми логику разговора с нпц, при разговоре он всегда смотрит в одну сторону
ок, сейчас погляжу что там и как
 
Назад
Сверху Снизу