Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Проход через ворота стрелками
#1
Как запретить стрелками(или если бежать в упор) проходить через ворота? Например в колизее.
Ответ
#2
Abrom
1) поставить геодату
2) если геодата стоит то редактировать стены в геодате
[Изображение: 2ewe.jpg][Изображение: 1.gif]
Ответ
#3
Abrom Написал:Как запретить стрелками(или если бежать в упор) проходить через ворота? Например в колизее.

если проходят в инстансе, то нужно поправлять ядро
Ответ
#4
PaInKiLlEr Написал:2) если геодата стоит то редактировать стены в геодате

Бред говорите. Ибо, как сказал ТС, проблема в дверях. Возможность прохода через них рассчитывается либо математически, либо созданием непроходимых блоков геодаты самим геодвижком сборки.
Ответ
#5
Если сборка фениксов - в таблице doors выставляем на двери в колонке 'geodata' - true, ну, а вообще как сказал VISTALL, если дверь в инсте (аля стадионы в ХФ) - необходимо в ядре делать подгрузку геодаты в инстанс.
Ответ
#6
Самое простое решение, если геодиг выключен - запретить передвижение стрелками в радиусе, допустим 100, возле дверей. Проверка в л2ж подобных сборках осуществляется следующим методом:

Код:
@Override
    public Location moveCheck(int x, int y, int z, int tx, int ty, int tz, int instanceId)
    {
        Location startpoint = new Location(x, y, z);
        if (DoorTable.getInstance().checkIfDoorsBetween(x, y, z, tx, ty, tz, instanceId))
            return startpoint;

        Location destiny = new Location(tx, ty, tz);
        return moveCheck(startpoint, destiny, (x - L2World.MAP_MIN_X) >> 4, (y - L2World.MAP_MIN_Y) >> 4, z, (tx - L2World.MAP_MIN_X) >> 4, (ty - L2World.MAP_MIN_Y) >> 4, tz);
    }
Ответ
#7
ANZO Написал:Самое простое решение, если геодиг выключен - запретить передвижение стрелками в радиусе, допустим 100, возле дверей. Проверка в л2ж подобных сборках осуществляется следующим методом:

Код:
@Override
    public Location moveCheck(int x, int y, int z, int tx, int ty, int tz, int instanceId)
    {
        Location startpoint = new Location(x, y, z);
        if (DoorTable.getInstance().checkIfDoorsBetween(x, y, z, tx, ty, tz, instanceId))
            return startpoint;

        Location destiny = new Location(tx, ty, tz);
        return moveCheck(startpoint, destiny, (x - L2World.MAP_MIN_X) >> 4, (y - L2World.MAP_MIN_Y) >> 4, z, (tx - L2World.MAP_MIN_X) >> 4, (ty - L2World.MAP_MIN_Y) >> 4, tz);
    }
Прикольный способ :negodue:.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Ошибки при исправлении через Diff sullen.nv 1 1,386 06-18-2018, 03:06 PM
Последний пост: 4ipolino
  Помогите Запустить сервер через Wi-Fi Роутер OverMan 17 4,932 10-16-2015, 10:18 PM
Последний пост: Rolfer
  запуск ядра java не через bat а через c# krisadr 43 9,787 03-30-2015, 04:44 PM
Последний пост: i_am_kisly
  Помогите найти причину дюпа через склад flopix 11 5,467 05-09-2014, 11:53 AM
Последний пост: bot2b
  Стрелы летят через скалы,стены squeez 11 3,109 03-02-2014, 02:30 PM
Последний пост: n3k0nation
  [help]Бафер и гк через Community Board Bastexses 62 49,882 09-20-2013, 05:19 PM
Последний пост: Xuk
  Компиляция через Eclipse Drag0N 7 1,765 07-25-2013, 08:03 AM
Последний пост: gorodetskiy
  Выключение сервера через логин doDie 3 1,452 07-18-2013, 07:18 AM
Последний пост: linliss
  VoicedCommand через другой символ ipx 1 1,111 07-13-2013, 05:52 PM
Последний пост: Gaikotsu
  Закрыть некоторые ворота L2J 3 1,506 06-24-2013, 11:49 AM
Последний пост: meX

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)