Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Двери и ХП на Олимпе
#11
попробуйте увеличить зону видимости для двери

http://trac.l2jserver.com/browser/trunk/...nList.java
Цитата: @Override
public int getDistanceToWatchObject(L2Object object)
{
if (object instanceof L2DefenderInstance)
{
return 600;
}
else if (!object.isPlayer())
{
return 0;
}
return 3500;
}
Ответ
#12
MHard Написал:попробуйте увеличить зону видимости для двери

http://trac.l2jserver.com/browser/trunk/...nList.java

не помогло, но уже получилось сделать отображение хпSmile. А вот с дверями не получаетсяSad

Добавлено через 4 часа 2 минуты
Может кто помочь? как только уже не меняла это кусочек кода
Код:
public void broadcastStatusUpdate()
    {
            Collection<L2PcInstance> knownPlayers = getKnownList().getKnownPlayers().values();
            if ((knownPlayers == null) || knownPlayers.isEmpty())
            {
                    return;
            }
          
            StaticObject su = new StaticObject(this, false);
            StaticObject targetableSu = new StaticObject(this, true);
            DoorStatusUpdate dsu = new DoorStatusUpdate(this);
            OnEventTrigger oe = null;
            if (getEmitter() > 0)
            {
                    oe = new OnEventTrigger(this, getOpen());
            }
          
            for (L2PcInstance player : knownPlayers)
            {
                    if (player == null)
                    {
                            continue;
                    }
                  
                    if (player.isGM() || (((getCastle() != null) && (getCastle().getCastleId() > 0)) || ((getFort() != null) && (getFort().getFortId() > 0))))
                    {
                            player.sendPacket(targetableSu);
                    }
                    else
                    {
                            player.sendPacket(su);
                    }
                  
                    player.sendPacket(dsu);
                    if (oe != null)
                    {
                            player.sendPacket(oe);
                    }
            }
    }
эффект один и тот же. Пакетик dsu не хочет ко мне лететь:ca3:. Ворота открываются только при клике на них.
А если сделать как тут http://forum.zone-game.info/showthread.php?t=19021, то вообще ошибка компиляции. Ругается на L2World.getInstance
Хоть какие нибудь идеи...
http://rghost.ru/47906583
Ответ
#13
ссылаясь на вашу же ссылку предположу, что изначально у автора выглядело так
Код:
public void broadcastStatusUpdate()
    {
        final L2PcInstance [] knownPlayers = L2World.getInstance().getAllPlayersArray();
        if (knownPlayers == null)
            return;
        
        StaticObject su = new StaticObject(this, false);
        DoorStatusUpdate dsu = new DoorStatusUpdate(this);
        OnEventTrigger oe = null;
        if (_emitter > 0)
            oe = new OnEventTrigger(this, getOpen());

        for (L2PcInstance player : knownPlayers)
        {
            if ((getCastle() != null && getCastle().getCastleId() > 0) || (getFort() != null && getFort().getFortId() > 0 && !getIsCommanderDoor()))
                su = new StaticObject(this, true);
            
            player.sendPacket(su);
            player.sendPacket(dsu);
            if (oe != null)
                player.sendPacket(oe);
        }
    }
А уж что он там потом усовершенствовал... не ясно.
Ответ
#14
Сейчас гляну в исходниках старых (последние случайно удалил), если там уже была затычка - скину, а то по памяти сразу сказать не могу Smile

Вот сделал декомпил, нашел Smile . Отправлять стал не на весь мир, а только тем, кто в пределах олимп. стадионов (костыль, но сработало).

код
Ответ
#15
В Вашем случае происходит так:
создается инстант, телепортируются игроки, начинается отсчет, за 10 секунд открываются двери (смотрите это место), Вам необходимо клиенту сообщить об этом (отправить пакет). Только и всего...
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#16
Мои спасители!Confusedpasibo:
Ответ
#17
FriendlyGhost Написал:Сейчас гляну в исходниках старых (последние случайно удалил), если там уже была затычка - скину, а то по памяти сразу сказать не могу Smile

Вот сделал декомпил, нашел Smile . Отправлять стал не на весь мир, а только тем, кто в пределах олимп. стадионов (костыль, но сработало).

код

А вы могли бы поделиться багами, которые были у вас на сборке Brick? и их возможным решениемSmile А то у меня тоже она...
Ответ
#18
Karamelka, начните думать как машина. 1 действие - 1 строчка кода (утрирую конечно).
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#19
Подозреваю, что у вас после этого будет такая же проблема с воротами фортов. Правильнее будет сделать так...
Код:
public void broadcastStatusUpdate()
    {
        final L2PcInstance [] knownPlayers = L2World.getInstance().getAllPlayersArray();
        if (knownPlayers == null)
            return;
        
        StaticObject su = new StaticObject(this, false);
        DoorStatusUpdate dsu = new DoorStatusUpdate(this);
        OnEventTrigger oe = null;
        if (_emitter > 0)
            oe = new OnEventTrigger(this, getOpen());

        for (L2PcInstance player : knownPlayers)
        {
            if ((getCastle() != null && getCastle().getCastleId() > 0) || (getFort() != null && getFort().getFortId() > 0 && !getIsCommanderDoor()))
                su = new StaticObject(this, true);
            {
            player.sendPacket(su);
            player.sendPacket(dsu);
            }
            if ((player.getX() < -74000) && (player.getX() > -90000) && (player.getY() > -254000) && (player.getY() < -237000))
            {
                         player.sendPacket(su);
                         player.sendPacket(dsu);
                        }
            if (oe != null)
                player.sendPacket(oe);
            
        }
    }
ну и не забудьте
Код:
import com.l2jserver.gameserver.model.L2World;
Ответ
#20
Sedoy, правильнее??
этот метод broadcastStatusUpdate воткнуть в дверь??
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Заточка На Олимпе(Lucera 1.7fin) MegaLag 9 2,456 04-12-2013, 11:57 PM
Последний пост: OneThunder
  Фул бафф на олимпе. Mifesto 19 3,708 09-03-2012, 02:11 PM
Последний пост: Ashe
  Двери оли-стадиона и крит клиента FriendlyGhost 6 2,425 04-05-2012, 10:33 PM
Последний пост: FriendlyGhost
  Двери замка Deron 1 1,247 02-24-2012, 07:50 PM
Последний пост: BrutiSmit
  Двери и твт Pr1Zr[aK] 7 1,960 01-30-2012, 09:56 PM
Последний пост: ExLite
  Нпц открывающий двери Bagoc 11 2,457 01-04-2012, 09:06 AM
Последний пост: PrivetDruK
  Не уничтожаются двери на осаде Mr.Alex 4 1,761 12-23-2011, 07:22 AM
Последний пост: Mr.Alex
  Создание двери. derron116 12 5,152 09-04-2011, 08:45 AM
Последний пост: TOPHAZ
  рефлект и двери LineOFWar 4 1,706 08-17-2011, 02:28 PM
Последний пост: LineOFWar
  Откат скиллов на олимпе 1stForrest 5 2,622 07-06-2011, 07:39 PM
Последний пост: 1stForrest

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


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