10

» WarCraft 3 / Какой метод интерфейса добавить?

так интерфейс же объединение объектов в один и для создания универсальной функции, для каждого из включенных объектов, надо в самом интерфейсе создать функ. (ничего не утверждаю, т.к. плохо разбираюсь)
т.е. создать интерфейс и там уже создать метод
10

» WarCraft 3 / Грейд

Daniil33:
А куда спелл бук? В способности или куда?
Да, в способности и блокируй спелбук для игрока-владельца нужного юнита.
+ мне нужно условие триггерное,чтобы давалась за потраченный голд пассивка,а не просто так с неба.
Т.е. нужно, чтобы игрок покупал способности за голду?
Если да, то можешь сделать так:
Создай дамми-предмет(книгу к примеру, которая ничего не даёт) и действуй по схеме:
Событие - продает предмет
Условие - проданный предмет = дамми-предмет
Действие - добавить способность(спелбук и можешь его сразу заблокировать для игрока)
10

» WarCraft 3 / Проблема с работой библиотеки

так и делаю, выводит 1
private function CheckUnitId takes unit u returns boolean
            call BJDebugMsg("2")
            local integer i = GetHandleId(u)
            local integer index = 1
            local boolean b = false
            loop
                if (i==HandleIdOfUnit[index]) then
                    set b = true
                    set index = CountedUnits
                endif
                call BJDebugMsg(I2S(index)+" - index")//=====тут=====
                exitwhen (index >= CountedUnits)
                set index = index+1
            endloop
            call BJDebugMsg("3")
            return b
            endfunction
Установил переменной CountedUnits изначальное значение 0 и сработало. Странно, я думал пустые integer по дефолту равны нулю или причина в чем-то другом?
10

» WarCraft 3 / Конфликт имён, библиотеки, области

Вроде как это должно копилиться в Aчисло_i и A_Bчисло_i(внутри Bчисло__i) и при правильной записи(внутри области B.i A.i и снаружи A.i и A.B.i) нет причин для конфликта. Но просто написав подобным образом, без каких-либо операции - ошибка. Я vjass почти не знаю и, скорее всего, что-то не правильно понимаю поэтому и спрашиваю
10

» WarCraft 3 / Выбор Юнита по Строке

Sergarr:
LordDracula:
ledoed:
с чего ты это взял ?
Раньше делал нечто подобное, но у меня вылетали игроки.
Сообщения в чате десинк вызвать не могут, они синхронизируются. Создание юнитов само по себе тоже не десинкает. Явно в чем то другом проблема была.
тогда прошу прощения
10

» WarCraft 3 / Выбор Юнита по Строке

ledoed:
с чего ты это взял ?
Раньше делал нечто подобное, но у меня вылетали игроки.
10

» WarCraft 3 / Выбор Юнита по Строке

Это для сетевой игры? Если да, то создание юнита от события "Игрок написал в чат" приведёт к десинхронизации(игрок вылетит с игры).
10

» WarCraft 3 / Есть ли функция, которая возвращает стоимость юнита?

Naadir:
Насколько я знаю, в стандарте такой функции нет. Можно всё очень просто провернуть через базы данных. Можно заморочиться и полезть за помощью в мемори хак, так как, скорее всего, такая функция там есть, раз уж он позволяет проводить махинации с белыми циферками.
В таком случае, думаю, что вариант с бд буду юзать, т.к. мх не применяю. Но хотелось бы сделать все проще, жаль не предусмотрели такую функцию. Спасибо за ответ.
10

» WarCraft 3 / Как отследить что юнит находится на порченной земле?

A.W.K.:
Ну это понятно, только неясно как это сделать без GUI
Это можно и на гуи сделать, но будут утечки памяти.
Создаёшь 2 триггера, в одном из которых добавляешь всех юнитов в группу, а в другом добавляешь в ту же группу новых юнитов, появившихся во время игры. Потом создаёшь ещё один триггер, где каждую 1 сек перебираешь юнитов циклом, проверяешь если юнит не нежить и находится на на порче(есть такое условие в логических сравнениях) и наносишь урон. Могу скинуть пример того, как это реализовать на GUI, если надо.
вот
Загруженные файлы
10

» WarCraft 3 / Как добиться того, чтобы при получении урона юнит не отбегал...

JyHgle:
Класификация рабочий?
или бродячий?
Без классификации. Просто у юнита отсутствует возможность атаковать и мне нужно, чтобы при этом он и не отбегал, во время того, как его атакуют.