Можно, если число не должно быть статичным. А если сделать через урон, то можно и лечить именно на столько, сколько цель впитает урона (больше/меньше номинала). И/или вкрутить лимиты.
Скачивал от сюда, парень в какой-то теме писал, говорил, что всё ок, и отзывы были положительные.
Они все кривые... Но это лучше чем ничего... если на дворе 2007й... интернет ещё до сих пор не у всех есть, а у тебя из вариантов только: смартфон + опера мини + сайт промт бот переводчик в ICQ словарь по англ. со школы и всё... Тогда да, такой руссификатор и правда помогает наладить понимание редактора.
Dimetrius, там есть юнит триггера или юнит-инициатор, а вот выше него на 2-3 строки есть ЦЕЛИ, одна из них - цель приказа" (работает при событиях приказов), а вторая - **цель каста способности* (работает при событиях каста).
Вот тебе и нужен тот юнит, который является в данной ситуации целью каста.
Факт 1: Заменить "ждать" на второе, которое ждёт "игровое время". Вэйт сам по себе далёк от идеала, но обычный вэйт будет работать не по игровому времени, а по реальному (это часто вызывает неожиданные баги).
Факт 2: Создаваемые таким образом спецэффекты нужно своевременно удалять, а не так как ты это делаешь. Создал и тут же удалил. Либо создал, записал, подождал, и только потом удалил (+обнуление переменной).
Факт 3: Уменьшая ХП юнита ты можешь его случайно убить... нужно делать проверку и на это тоже. А такая смерть не считается убийством, а нельзя отловить кто убил юнита (напрямую офк).
Если вкрадце...
Первое - записал в переменную сколько надо отнять.
Второе - если ХП юнита меньше чем записанное число, то записываешь новое лучше записать что-то смежное... например "текущее ХП юнита - 1.50" тогда у юнита останется 1.5хп
Третье - отнимаешь столько ХП, сколько записал ранее.
. . .
Dimetrius, у тебя это Реакция на событие - ПУСТОЕ МЕСТО
слово local значит что ты объявляешь локальную переменную
слово unit значит что тип этой переменной будет ЮНИТ
буква u это имя, которое ты даёшь этой переменной
строка local unit u значит что ты создаёшь переменную с типом "юнит" и называешь её "u"
Далее ты создаёшь переменную не для юнита, а для ЧИСЛА.
Числа есть двух типов - с точкой (реальные) и без (целые).
целые и дробные
Целые числа:
У юнита может быть уровень 1 или 7 или 50 ... но он не может быть 2,57
Зарядов у предмета может быть 2 или 3 или 10 ... но их не может быть 1,5
Золота/древесины у игрока может быть 50, 200, 537... но не 241,71
Реальные числа (дробные):
Это все числа которые могут иметь значения после точки, как в анти-примере выше. Это динамическое здоровье/мана юнита, скорость движения, и т.п.
Тебе надо объявить переменную для числа - local real r
Либо local real XXX , где XXX - имя переменной
Для целого числа будет local integer XXX, и т.д.
Это конкретно по ошибке... а вообще - не надо смотреть видео от этого человека, он тебя плохому научит... правда. А другим потом придётся тебя переучивать, если ты сам это дело не забросишь
У события времени нет целевой точки изданного приказа.
Можешь сохранять точку применения способности в первом триггере, а во втором перемещать героя относительно неё.
Мне нужно чтоб один и тот же таймер с одной и той же функцией всегда имел разное время)
Запускаешь однократный таймер, и по его срабатыванию - запускаешь его опять, ещё раз, но на случайное время. Можешь сделать функцию на старт этого таймера с рандомом всегда и юзать её при первом запуске и при каждом срабатывании таймера.
Суть: запускаем функцию №1 она выбирает случайный таймер из 5 и запускает его, в свою очередь каждый таймер вызывает себя по несколько раз(имено важно вызвать самого себя), а когда будет вызван последний раз, запускает таймер который использует функцию №1.
Можешь счётчик прикрутить и каждый раз тикать его с выводом в начало.
Ну хз... раз ты хочешь всё те же три лайна, но желаешь уйти от доты...
Если у тебя будет три лайна, то один всё равно будет центральным, и как правильно - короче остальных. Можно это изменить, сделать его не прямым, а извилистым. Тогда у тебя будет две базы, и между ними три пути, среди которых нет "короткого". (если не понял, то представь что-то вроде связующих линий от символа инь-янь)
. . .
Если уж прям совсем уходить от механик доты, то... Мб сделать все лайны разными в плане ведения боя на них? Например центральный лайн - что-то вроде обычного: армии идут в обоих направлениях и имеются защитные сооружения. А два других - одностороннее движение войск: т.е. у одного игрока на этой лайне будут только множественные защитные сооружения, а враг будет посылать туда осадных крипов. Один лайн для нападения 1го клана на 2й, а второй лайн для нападения 2го клана на 1й.
Получается что-то типа - С одной стороны игрок должен либо поддерживать осаду вражеской базы и пробиваться внутрь, но не встречая ответных армий, а лишь защитников. А с другой стороны игрок должен будет помогать отбивать осаду, восстанавливать защитные сооружения, но уж никак не нападать...
Кароче. Делается всё на GUI, через реализацию кастомных орбов (т.е. триггерных). Если потянешь тему с триггерными орбами - сделать кастомный чакрум с работой на него всех пассивок труда не составит.
А если дать способность принимать золото и древесину какой-нибудь ферме, которую поставить рядом с рудником?
Здания имеющие абилки Рудник и Вернуть золото автоматически расталкиваются друг от друга (рудник остаётся на месте). А так же не даёт построить его рядом.
Поэтому выдача абилки на приём ресурсов после постройки здания будет самым оптимальным вариантом.
Нужно отметить, что отрицательный реген может быть перекрыт положительным, и тогда юнит никогда не умрёт (если ограничение длительности жизни юнита реализовано только за счёт потери ХП).
Ну и идеи да - самое оптимальное это повесить 2-го пилота на основного юнита и дать управление над ним для другого игрока (как описано в вопросе по ссылке). Вот и всё. Будет отчасти корявенько, но... наверно лучше чем никак.
Desgul, там где написан коммен "Проверка целей" нужно добавить условие что цель не является союзником, если конечно из того блока есть доступ к кастеру. Не юзал зинк, но логика должна сохраняться же, ибо ничего нового там нет
Нужно произвести запись пары юнит+модификатор
И в нужный момент находить спаренный с ним модификатор
При окончании строительства здания добавляй ячейку массива и записывай пару.
set R_Max = R_Max + 1
set R_unit[R_Max] = построенный юнит
set R_vision[R_Max] = последний созданный модификатор видимо ти или сразу... = создать модификатор
В нужный момент определяешь что радар разрушен, и ищешь его пару
Цикл А от 1 до R_Max
если умерший юнит = R_unit[A]
set N = A
удалить модификатор R_vision[N]
И перезапись делаешь
if R_Max > 1 then
set R_unit[N] = R_unit[R_Max]
set R_vision[N] = R_vision[R_Max]
endif
set R_unit[R_Max] = null
set R_vision[R_Max] = null
set R_Max = R_Max - 1
Ну как-то так, я делаю обычно.
Всё работает. И принцип простой.
Вопрос: "Как можно избавиться от цифр в названии?" Ответ: В редакторе есть набор вкладок на верхней панели, под границей окна (такие как Файл, Правка, Вид). В одной из этих вкладок есть раздел настройки игровых констант и интерфейса. В настройке интерфейса будет то что ты ищешь. Оно будет иметь примерно такой вид:
s% (Циф. d%)
Оставь только "s%", иначе названия у предмета вовсе не будет. А то что тебе понаписали до этого - никак не решает вопрос.
quq_CCCP, никто не забыл. Это же самый кривой способ. Им можнл проверить только только впитывает ли юнит какой либо урон. С неуязвимостью это не связанно.
» WarCraft 3 / Плавающий текст (texttag) черет туман войны
» WarCraft 3 / Свап хп - не могу разобраться
Это большая разница.
Ред. Extremator
» WarCraft 3 / Свап хп - не могу разобраться
А если сделать через урон, то можно и лечить именно на столько, сколько цель впитает урона (больше/меньше номинала). И/или вкрутить лимиты.
Ред. Extremator
» WarCraft 3 / Свап хп - не могу разобраться
смартфон + опера мини + сайт промт
бот переводчик в ICQ
словарь по англ. со школы
и всё...
Тогда да, такой руссификатор и правда помогает наладить понимание редактора.
Ред. Extremator
» WarCraft 3 / Свап хп - не могу разобраться
Ред. Extremator
» WarCraft 3 / Свап хп - не могу разобраться
Второе - если ХП юнита меньше чем записанное число, то записываешь новое
лучше записать что-то смежное... например "текущее ХП юнита - 1.50"
тогда у юнита останется 1.5хп
Третье - отнимаешь столько ХП, сколько записал ранее.
. . .
Dimetrius, у тебя это Реакция на событие - ПУСТОЕ МЕСТО
Ред. Extremator
» WarCraft 3 / Ошибка в тригерах при сохранении
слово unit значит что тип этой переменной будет ЮНИТ
буква u это имя, которое ты даёшь этой переменной
строка local unit u значит что ты создаёшь переменную с типом "юнит" и называешь её "u"
Числа есть двух типов - с точкой (реальные) и без (целые).
У юнита может быть уровень 1 или 7 или 50 ... но он не может быть 2,57
Зарядов у предмета может быть 2 или 3 или 10 ... но их не может быть 1,5
Золота/древесины у игрока может быть 50, 200, 537... но не 241,71
Это все числа которые могут иметь значения после точки, как в анти-примере выше.
Это динамическое здоровье/мана юнита, скорость движения, и т.п.
Либо local real XXX , где XXX - имя переменной
Для целого числа будет local integer XXX, и т.д.
Ред. Extremator
» WarCraft 3 / Ошибка в тригерах при сохранении
Ред. Extremator
» WarCraft 3 / Как реализовать перемещение моего юнита к курсору в гуи??
8gabriel8:
» WarCraft 3 / запустить таймер из таймера
» Битва Зимой / Как сделать лучше?
» Битва Зимой / Как сделать лучше?
» WarCraft 3 / Лунный чакрум
» WarCraft 3 / Уровень моба
Ред. Extremator
» WarCraft 3 / Расстояние от рудника до ратуши
» WarCraft 3 / Как сделать уменьшение жизни или ограниченное время жизни нас.
» WarCraft 3 / Управление Чо'Галлом
» WarCraft 3 / Радар / временный модификатор видимости
» WarCraft 3 / Радар / временный модификатор видимости
» WarCraft 3 / ZinC: Кровавый взрыв
» WarCraft 3 / Периодически пропадает плавающий текст
Ред. Extremator
» WarCraft 3 / Радар / временный модификатор видимости
И в нужный момент находить спаренный с ним модификатор
Всё работает. И принцип простой.
» WarCraft 3 / Триггерный спелл с действием только на определённый тип юнитов
Тип юнита (юнит-цель каста) равно "Пехотинец"
» WarCraft 3 / Названия артефактов
Ответ: В редакторе есть набор вкладок на верхней панели, под границей окна (такие как Файл, Правка, Вид). В одной из этих вкладок есть раздел настройки игровых констант и интерфейса. В настройке интерфейса будет то что ты ищешь. Оно будет иметь примерно такой вид:
А то что тебе понаписали до этого - никак не решает вопрос.
» WarCraft 3 / Условие на неуязвимость