Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Двойные флаги на ТВ
#1
Привет всем!

Кто-нибудь может сказать - почему могут дважды спавниться флаги при старте ТВ?
Ответ
#2
оффтоп
Ответ
#3
Возможно двойной спавн, проверяйте скрипт ТВ
СЕО Оптимизация сайтов
Ответ
#4
Просмотрел скрипт - в startEvent() спавн один, даже более того - в самом методе спавна есть проверка, что если объект заспавнен то спавнить его не нужно, но увы и ах.

P.S. последний баг остался, ТВ на сладкое оставлял Smile
Ответ
#5
FullMetal Написал:P.S. последний баг остался, ТВ на сладкое оставлял Smile

Последний, ага ... :de:
Ответ
#6
Цитата:Последний, ага ...
Из очевидных* А так да - баги всегда есть, это уж вопрос видим мы их или нет.

И всё же.. отдалились от темы...
Ответ
#7
FullMetal Написал:Из очевидных* А так да - баги всегда есть, это уж вопрос видим мы их или нет.

И всё же.. отдалились от темы...

Может скрипт покажете ?
СЕО Оптимизация сайтов
Ответ
#8
gorodetskiy Написал:Может скрипт покажете ?

конечно.

Код:
public void startEvent()
    {
        List<Dominion> registeredDominions = _runnerEvent.getRegisteredDominions();
        List<DominionSiegeEvent> dominions = new ArrayList<DominionSiegeEvent>(9);
        for(Dominion d : registeredDominions)
            if(d.getSiegeDate().getTimeInMillis() != 0 && d != getResidence())
                dominions.add(d.<DominionSiegeEvent>getSiegeEvent());

        SiegeClanObject ownerClan = new SiegeClanObject(DEFENDERS, getResidence().getOwner(), 0);

        addObject(DEFENDERS, ownerClan);

        for(DominionSiegeEvent d : dominions)
        {
            d.addObject(ATTACKERS, ownerClan);

            List<Integer> defenderPlayers = d.getObjects(DEFENDER_PLAYERS);
            for(int i : defenderPlayers)
                addObject(ATTACKER_PLAYERS, i);

            List<SiegeClanObject> otherDefenders = d.getObjects(DEFENDERS);
            for(SiegeClanObject siegeClan : otherDefenders)
                if(siegeClan.getClan() != d.getResidence().getOwner())
                    addObject(ATTACKERS, siegeClan);
        }

        int[] flags = getResidence().getFlags();
        if(flags.length > 0)
        {
            getResidence().removeSkills();
            getResidence().getOwner().broadcastToOnlineMembers(SystemMsg.THE_EFFECT_OF_TERRITORY_WARD_IS_DISAPPEARING);
        }

        SiegeClanDAO.getInstance().delete(getResidence());
        SiegePlayerDAO.getInstance().delete(getResidence());

        for(int i : flags)
            spawnAction("ward_" + i, true);

        updateParticles(true);

        super.startEvent();
    }

конкретно спавн тут:
Код:
for(int i : flags)
            spawnAction("ward_" + i, true);
Но, почему-то то ли скрипт 2 раза запускается, то ли еще что-то..

Добавлено через 9 минут
Код:
int[] flags = getResidence().getFlags();
Может ли он запускаться для каждой терриории, а брать значения для спавна флагов из всех территорий?
Ответ
#9
чувак, оверская сборка крива на столько, что ваще печаль, тебе придется создавать еще 350 тем " Почему?"

потом как найдут дюп, будет тема " как?"
Ответ
#10
Может быть данная фича реализована повторно в другом классе? Но я считаю, что ошибка в том, что один из пакетов дублируется при данном действии.
[Изображение: 9e48dc4b6398.jpg]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Флаги ТП BlackJeck 10 3,175 02-10-2013, 08:11 PM
Последний пост: BlackJeck

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


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