XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
Не работает кусок кода
Я пересоздаю таверны и добавляю в них юнитов, таверны создаются, а юниты нет.
    GroupEnumUnitsInRange(G,x1,y1,500,null)
    loop
        E = FirstOfGroup(G)
        typ = GetUnitTypeId(E)
        exitwhen E == null
        n = CreateUnit(GetOwningPlayer(E),typ,GetUnitX(E),GetUnitY(E),GetUnitFacing(E))
        if typ == 'n007' then
            AddUnitToStock(n,'H045',1,1)
            AddUnitToStock(n,'H03L',1,1)
            AddUnitToStock(n,'H02M',1,1)
            AddUnitToStock(n,'H02K',1,1)
            AddUnitToStock(n,'H02J',1,1)
            AddUnitToStock(n,'H01L',1,1)
            AddUnitToStock(n,'H01C',1,1)
            AddUnitToStock(n,'H018',1,1)
            AddUnitToStock(n,'H012',1,1)
        elseif typ == 'n009' then
            AddUnitToStock(n,'H042',1,1)
            AddUnitToStock(n,'H03K',1,1)
            AddUnitToStock(n,'H034',1,1)
            AddUnitToStock(n,'H02O',1,1)
            AddUnitToStock(n,'H02L',1,1)
            AddUnitToStock(n,'H02I',1,1)
            AddUnitToStock(n,'H02H',1,1)
            AddUnitToStock(n,'H043',1,1)
            AddUnitToStock(n,'H048',1,1)
        elseif typ == 'n00D' then
            AddUnitToStock(n,'H044',1,1)
            AddUnitToStock(n,'H031',1,1)
            AddUnitToStock(n,'H03R',1,1)
            AddUnitToStock(n,'H047',1,1)
            AddUnitToStock(n,'H049',1,1)
            AddUnitToStock(n,'H04A',1,1)
        elseif typ == 'n000' then
            AddUnitToStock(n,'H03Z',1,1)
            AddUnitToStock(n,'H03S',1,1)
            AddUnitToStock(n,'H033',1,1)
            AddUnitToStock(n,'H032',1,1)
            AddUnitToStock(n,'H02X',1,1)
            AddUnitToStock(n,'H02R',1,1)
            AddUnitToStock(n,'H02D',1,1)
            AddUnitToStock(n,'H00E',1,1)
            AddUnitToStock(n,'H006',1,1)
        elseif typ == 'n001' then
            AddUnitToStock(n,'H00Y',1,1)
            AddUnitToStock(n,'H02U',1,1)
            AddUnitToStock(n,'H02S',1,1)
            AddUnitToStock(n,'H008',1,1)
            AddUnitToStock(n,'H02P',1,1)
            AddUnitToStock(n,'H00L',1,1)
            AddUnitToStock(n,'H011',1,1)
            AddUnitToStock(n,'H00P',1,1)
            AddUnitToStock(n,'H00M',1,1)
            AddUnitToStock(n,'H00K',1,1)
            AddUnitToStock(n,'H00J',1,1)
            AddUnitToStock(n,'H00D',1,1)
        elseif typ == 'n006' then
            AddUnitToStock(n,'H03P',1,1)
            AddUnitToStock(n,'H03B',1,1)
            AddUnitToStock(n,'H02V',1,1)
            AddUnitToStock(n,'H02G',1,1)
            AddUnitToStock(n,'H02F',1,1)
            AddUnitToStock(n,'H02B',1,1)
            AddUnitToStock(n,'H027',1,1)
            AddUnitToStock(n,'H01H',1,1)
            AddUnitToStock(n,'H01F',1,1)
            AddUnitToStock(n,'H01D',1,1)
            AddUnitToStock(n,'H017',1,1)
            AddUnitToStock(n,'H00Z',1,1)
        elseif typ == 'n002' then
            AddUnitToStock(n,'H02Y',1,1)
            AddUnitToStock(n,'H01B',1,1)
            AddUnitToStock(n,'H00N',1,1)
            AddUnitToStock(n,'H016',1,1)
            AddUnitToStock(n,'H014',1,1)
            AddUnitToStock(n,'H00X',1,1)
            AddUnitToStock(n,'H00H',1,1)
            AddUnitToStock(n,'H00I',1,1)
            AddUnitToStock(n,'H01A',1,1)
            AddUnitToStock(n,'H00C',1,1)
            AddUnitToStock(n,'H00A',1,1)
        endif
        GroupRemoveUnit(G,E)
        RemoveUnit(E)
    endloop
Старый 09.01.2014, 11:30
16GB
GhostOne User
offline
Опыт: 59,317
Активность:
отладка где?
Старый 09.01.2014, 11:36
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
16GB, я отлаживал, все было норм вроде.
Старый 09.01.2014, 11:50
16GB
GhostOne User
offline
Опыт: 59,317
Активность:
попробуй просто добавить одного юнита этой функцией в уже стоящую на карте таверну.
Старый 09.01.2014, 12:00
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
16GB, пробовал, не помогло. Таверна стандартная, только модель изменена.
Старый 09.01.2014, 12:08
16GB
GhostOne User
offline
Опыт: 59,317
Активность:
т.е даже так не добавляет юнита? ну тогда с этим и разбирайся.
Старый 09.01.2014, 12:12
adic3x

offline
Опыт: 107,539
Активность:
я отлаживал, все было норм вроде.
Если бы была отладка - вы определили бы, какое из ветвлений срабатывает, и просто бы подкорректировали id типа юнита или спрашивали, почему не работает функция добавления юнита. Учитесь локализировать проблему и пользоваться отладкой.

Отредактировано ADOLF, 09.01.2014 в 15:56.
Старый 09.01.2014, 12:31
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
Проблему с добавлением я решил (стандартная таверна не имеет способности "Продажа войск"), но появилась другая. В 2 таверны в последний слот никак не хочет добавляться герой.
Старый 09.01.2014, 12:50
ScorpioT1000
Работаем
offline
Опыт: отключен
есть функция RemoveUnitFromStock
примени ее к тому юниту, который точно добавился и проверь, это лимит на отображение в таверне или лимит на добавление
Старый 09.01.2014, 13:15
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
ScorpioT1000, не совсем понял тебя. В таверну спокойно входит 11 юнитов, 12 не хочет добавляться, в самом РО можно поставить 12.
Старый 09.01.2014, 13:31
ScorpioT1000
Работаем
offline
Опыт: отключен
ADOLF:
я отлаживал, все было норм вроде.
Если бы была отладка - вы определили бы, какое из ветвлений срабатывает, и просто бы подкорректировали id типа юнита или спрашивали, почему не работает функция добавления юнита. Учитель локализировать проблему и пользоваться отладкой.
Старый 09.01.2014, 13:37
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
ScorpioT1000, спасибо за дебаг, но проблема скорее всего не в коде, а в самом РО, т.к. если попробовать добавить их в другие терны в которых много свободных слотов, то проблем не возникает...
Старый 09.01.2014, 13:57
DioD

offline
Опыт: 45,184
Активность:
там абилка выбора пользователя мешать может
перепроверьте это
Старый 09.01.2014, 14:37
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:29.