Показать сообщение отдельно
Старый 27.04.2010, 23:22   #20
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

Вот, что получилось:
Код:
bool GOHello_go_andorhal_tower(Player* pPlayer, GameObject* pGo)
{
    if (pPlayer->GetQuestStatus(QUEST_ALL_ALONG_THE_WATCHTOWERS_ALLIANCE) == QUEST_STATUS_INCOMPLETE || pPlayer->GetQuestStatus(QUEST_ALL_ALONG_THE_WATCHTOWERS_HORDE) == QUEST_STATUS_INCOMPLETE)
    {
        std::list<Unit*> targets;
        MaNGOS::AnyUnitInObjectRangeCheck u_check(pPlayer, 1.0f);
        MaNGOS::UnitListSearcher<MaNGOS::AnyUnitInObjectRangeCheck> searcher(pPlayer, targets, u_check);
        Cell::VisitAllObjects(pPlayer, searcher, 1.0f);
        uint32 aEntry[] = {NPC_ANDORHAL_TOWER_ONE, NPC_ANDORHAL_TOWER_TWO, NPC_ANDORHAL_TOWER_THREE, NPC_ANDORHAL_TOWER_FOUR};
        int i;
        for(std::list<Unit *>::iterator tIter = targets.begin(); tIter != targets.end(); tIter++)
        {
            for(i = 0; i < 4; i++)
            {
                if((*tIter)->GetEntry() == aEntry[i])
                {
                    pPlayer->KilledMonsterCredit((*tIter)->GetEntry(), 0);
                }
            }
        }
    }
    return false;
}
Радиус поставил 1 метр, поэтому в текущем варианте не сработает.
Если поставить радиус 25, то проблем не будет, но кастовать надо в проходе.

Самый простой вариант - переставить го в точки к нпц, тогда должно работать без проблем.

1. Почему не отрабатывает активация го на расстоянии, а только в упор?
2. Как и где в ядре править ошибки при выходе игрока из игры:

Код:
ERROR:Delete Gameobject (Entry: 176093 Guid: 200005) with SpellId 17016 LinkedGO 0 that lost references to owner Player (Guid: 3176) GO list. Crash possible later.
3. Как еще можно оптимизировать скрипт?
virusav вне форума   Ответить с цитированием