Уровень баффа никак не проверить, есть только проверка:
GetUnitAbilityLevel(whichUnit,abilcode)>0 и то она максимум проверяет наличие бафа.
А чтобы подсчитать его уровень....Попробуй для каждого уровня баффа(тоесть спелла) делать разные эффекты(тоесть сами баффы) ими проверять например:
GetUnitAbilityLevel(whichUnit,Buff1)>0 {
......
}elseif GetUnitAbilityLevel(whichUnit,Buff2)>0 {
и тд
}
Бредятина.
Делаешь спелл(как у мастера клинка) и ставишь время действия 3600(час) и уменьшаешь владельцу триггерно ману на 1, при уменьшении смотрим наличие бафа инвиза, если маны нет, снять бафф инвиза (при снятия баффа, инвиз автоматом убирается, проверено), а если нет бафа - прекратить снимать ману.
Это всё сделано на приказах, если ты делаешь способность через канал, то(к примеру) ставишь у него приказ как у "Изгнания В Астрал"(banish) и потом отдаёшь этот приказ мобу\НПС\прочим
первое установление уровня абилки, требует время.(как в доте, когда выбираешь инвокера, там пишут что "Подождите, идёт загрузка способностей инвокера")
При инициализации делаешь дамми, даёшь ему абилку,устанавливаешь 10-15 лвл(будет задержка 2-3 сек) и убиваешь\удаляешь его.
Нужно:
мдивилс, мозг, и 2 руки(желательно из правильного места)
открываешь модель
открываешь редактор анимаций
открывваешь редактор костей
двигаешь точку крепления(weapon(крепления для геров) или hand left(левая рука) или hand right(правая))
всё!(теперь мозг и 2 руки больше не понадобятся)
"магический, физический урон никак нельзя отследить, нет такой функции" Steal nerves, бред!!!
событие "Юнит получает урон" действует на любое повреждение!
Есть способность "Стрела Тьмы"(или как её там) она срабатывает при атаке юнита(можно сделать её безоткатной)
И триггерно сбивать приказ о стрельбе и сделать "Дамми Ракету" которая летит в врага(и если он ушёл за радиус действия приказать лететь прямо)
Переменная типа Логическая массив Bool
Событие Каждые Х сек
Условие ------------
Действие
Цикл для каждого числа А действий от 1 до Х(юнитов которые делают действие и которые занесены в переменную типа юнит к примеру "Unit")
"Если Тогда Иначе"
Если Bool[Индекс А]=нет
Bool[Индекс А]=да
Random=Случайное число от 1 до 2
Если Random=1
атаковать
Если Random=2
перемещаться
Bool отвечает за то, выполняет юнит действие или нет
Цикл будет рандомно давать команды каждому Атаковать Или Бежать
А при выполнении задания ставишь Bool=нет
Варик от триггерного(кто не знает триггер это и GUI и Jass) крита и отлова урона здохнет 100%
Близы делали абилки в варике на Паскале или Си(я точно не знаю) поэтому у них не лагают стандартные спеллы
зачем модель?
нашёл точки X Y и химичешь с ними например:
DestroyEffect(AddSpecialEffect(e,x+100,y+100))
DestroyEffect(AddSpecialEffect(e,x-100,y+100))
DestroyEffect(AddSpecialEffect(e,x-100,y-100))
DestroyEffect(AddSpecialEffect(e,x+100,y-100))
Создаст по углам квадрата эффекты
чтобы сделать как тебе нужно, достаточно будет сделать круглый рект(rect):
Создаёт и возращает rect, в заданых координатах с заданым радиусом Если true то круглый rect,если false квадратный rect
rect CreateRectArea(real x,real y,real area,boolean b) {
if b==true
return Rect(x-area,y-area,x+area,y+area)
else
return Rect(x-area,y+area,x+area,y-area)
endif
}
удалить паладина(сохранив в переменные предметы) и пихнуть на его место гаритоса(и дать ему предметы+налепить эффект "lvlup" ну и конечно дать ему 10 лвл)
от того что ты создал нестандартное, почти не имеет веса, вес зависит от количества кода(1 буква гдет 1-2 бит, а в байте 8 бит, а в килобайте 1024 байт) и от объектов созданных на карте(декор эффекты юниты области и тд сколько они весят хз но по моему где то 500-1000 байт) (код в гуй объёмен, содержит лишние проверки if и ненужные вызовы "Функции В Функции")
при загрузки карты она имеет свой стандартный вес(код+импорт+объекты на карте), но в процессе игры могут создаваться новые объекты и тп из за чего карта может лагать у кого слабый комп(он тупо не может обрабатывать всю инфу) Гигамон, возможно в 1 карте ты удалил триг инициализации а в другой нет(стандартный триггер инициализации весь уж точно состоит из 20-30 БЖ функций, которые вызывают другие... я проверял)
» PsiLab / RtC. Первые шаги
Ред. влад10011
» PsiLab / RtC. Первые шаги
local wayMap=string.sub(cmdline,string.len(path.."war3.exe")+12,string.len(cmdline)) --в самом начале
local wayMap=mappath
+12 это пропуск двух кавычек, одного пробела и слова -loadfile в cmdline
» WarCraft 3 / Как возвратить значение уровня баффа?
GetUnitAbilityLevel(whichUnit,abilcode)>0 и то она максимум проверяет наличие бафа.
А чтобы подсчитать его уровень....Попробуй для каждого уровня баффа(тоесть спелла) делать разные эффекты(тоесть сами баффы) ими проверять например:
GetUnitAbilityLevel(whichUnit,Buff1)>0 {
......
}elseif GetUnitAbilityLevel(whichUnit,Buff2)>0 {
и тд
}
» WarCraft 3 / Где ошибка?
Ред. Clamp
» WarCraft 3 / Трата маны во время режима невидимости.
Делаешь спелл(как у мастера клинка) и ставишь время действия 3600(час) и уменьшаешь владельцу триггерно ману на 1, при уменьшении смотрим наличие бафа инвиза, если маны нет, снять бафф инвиза (при снятия баффа, инвиз автоматом убирается, проверено), а если нет бафа - прекратить снимать ману.
Ред. влад10011
» WarCraft 3 / Применение нестандартных спобностей.
Ред. влад10011
» WarCraft 3 / Спеллы с дамми-юнитом
При инициализации делаешь дамми, даёшь ему абилку,устанавливаешь 10-15 лвл(будет задержка 2-3 сек) и убиваешь\удаляешь его.
Ред. влад10011
» WarCraft 3 / Предмет
мдивилс, мозг, и 2 руки(желательно из правильного места)
открываешь модель
открываешь редактор анимаций
открывваешь редактор костей
двигаешь точку крепления(weapon(крепления для геров) или hand left(левая рука) или hand right(правая))
всё!(теперь мозг и 2 руки больше не понадобятся)
» WarCraft 3 / Способность уворота.
» WarCraft 3 / Игра не запускается
откуда мы знаем что там такого что нужно её переписывать?
возможно RB там присутствует или ещё что.....
» WarCraft 3 / Способность уворота.
Steal nerves, бред!!!
событие "Юнит получает урон" действует на любое повреждение!
» WarCraft 3 / Способность уворота.
логичней сделать как я сказал
» WarCraft 3 / Стрельба лучников.
И триггерно сбивать приказ о стрельбе и сделать "Дамми Ракету" которая летит в врага(и если он ушёл за радиус действия приказать лететь прямо)
» WarCraft 3 / ИИ мобов.
Событие Каждые Х сек
Условие ------------
Действие
Цикл для каждого числа А действий от 1 до Х(юнитов которые делают действие и которые занесены в переменную типа юнит к примеру "Unit")
"Если Тогда Иначе"
Если Bool[Индекс А]=нет
Bool[Индекс А]=да
Random=Случайное число от 1 до 2
Если Random=1
атаковать
Если Random=2
перемещаться
Цикл будет рандомно давать команды каждому Атаковать Или Бежать
А при выполнении задания ставишь Bool=нет
» WarCraft 3 / Способность уворота.
если добавить герою способность "Змеиная Ловкость" и удалить значок будет мигать
» WarCraft 3 / Стрельба лучников.
стреляет прямо а не в юнита?
» WarCraft 3 / ИИ мобов.
Если Random=1
атаковать
Если Random=2
перемещаться
.....
» WarCraft 3 / Способность уворота.
» WarCraft 3 / Отслеживание критического удара
Близы делали абилки в варике на Паскале или Си(я точно не знаю) поэтому у них не лагают стандартные спеллы
» WarCraft 3 / Ошибка
"Неверное количество аргументов"
не может быть из за ланда, ты мб удалил области или ещё что когда делал ланд
Ред. влад10011
» WarCraft 3 / Да помогите с одной моделью..
нашёл точки X Y и химичешь с ними например:
DestroyEffect(AddSpecialEffect(e,x+100,y+100))
DestroyEffect(AddSpecialEffect(e,x-100,y+100))
DestroyEffect(AddSpecialEffect(e,x-100,y-100))
DestroyEffect(AddSpecialEffect(e,x+100,y-100))
Создаст по углам квадрата эффекты
чтобы сделать как тебе нужно, достаточно будет сделать круглый рект(rect):
Если true то круглый rect,если false квадратный rect
rect CreateRectArea(real x,real y,real area,boolean b) {
if b==true
return Rect(x-area,y-area,x+area,y+area)
else
return Rect(x-area,y+area,x+area,y-area)
endif
}
» WarCraft 3 / Помощь в триггере
Ред. влад10011
» WarCraft 3 / Размер карты
при загрузки карты она имеет свой стандартный вес(код+импорт+объекты на карте), но в процессе игры могут создаваться новые объекты и тп из за чего карта может лагать у кого слабый комп(он тупо не может обрабатывать всю инфу)
Гигамон, возможно в 1 карте ты удалил триг инициализации а в другой нет(стандартный триггер инициализации весь уж точно состоит из 20-30 БЖ функций, которые вызывают другие... я проверял)
» SC2 Учебник / SC2 Учебник