ГлавнаяБлогКарты Warcraft 3Гайды для первой ДотыГайды для Доты 2 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Зарегистрированные пользователи не видят всплывающей рекламы
Страница 1 из 212»
Модератор форума: XOPYC, Vanzer, Goodie 
Форум » Картостроение в Warcraft 3 » Обучение » Баг скила
Баг скила
Дата: Суббота, 19.01.2013, 19:04 | Сообщение # 1
Лейтенант
Проверенные
Сообщений: 54
Награды: 0
Репутация: 1
Скил робит норм, но трабла в том что когда я кастую способность рядом с умершими юнитами деревьев становить 100500. В чем дело?
Вот скрин самого эффект : http://rghost.ru/43154025 а это нормальный вид : http://rghost.ru/43154156
Вот триггер :
skill 83
События
Боевая единица - Боевая единица Приводит способность в действие
Условия
(Ability being cast) равно Атака деревьев
Действия
Если (Все условия выполняются), то выполнить (Действия), иначе выполнить (Другие действия)
Если - Условия
(Level of Атака деревьев for (Triggering unit)) равно 1
То - Действия
Jass-код: set bj_wantDestroyGroup = true
Отряд - Pick every unit in (Units within 200.00 of (Position of (Triggering unit))) and do (Actions)
Цикл - Действия
Для каждого значения (Integer A) от 0 до 9 выполнить (Действия)
Цикл - Действия
Задать переменной PointFortress значение (Position of (Triggering unit))
Боевая единица - Create 1 Энт лвл 1 for (Owner of (Triggering unit)) at (PointFortress offset by 200.00 towards ((Real((Integer A))) x 35.00) degrees) facing Стандартная ориентация зданий degrees
Боевая единица - Add a 5.00 second Общий expiration timer to (Last created unit)
Иначе - Действия
Если (Все условия выполняются), то выполнить (Действия), иначе выполнить (Другие действия)
Если - Условия
(Level of Атака деревьев for (Triggering unit)) равно 2
То - Действия
Jass-код: set bj_wantDestroyGroup = true
Отряд - Pick every unit in (Units within 200.00 of (Position of (Triggering unit))) and do (Actions)
Цикл - Действия
Для каждого значения (Integer A) от 0 до 9 выполнить (Действия)
Цикл - Действия
Задать переменной PointFortress значение (Position of (Triggering unit))
Боевая единица - Create 1 Древо земли лвл 2 for (Owner of (Triggering unit)) at (PointFortress offset by 200.00 towards ((Real((Integer A))) x 35.00) degrees) facing Стандартная ориентация зданий degrees
Боевая единица - Add a 5.00 second Общий expiration timer to (Last created unit)
Иначе - Действия
Если (Все условия выполняются), то выполнить (Действия), иначе выполнить (Другие действия)
Если - Условия
(Level of Атака деревьев for (Triggering unit)) равно 3
То - Действия
Jass-код: set bj_wantDestroyGroup = true
Отряд - Pick every unit in (Units within 200.00 of (Position of (Triggering unit))) and do (Actions)
Цикл - Действия
Для каждого значения (Integer A) от 0 до 9 выполнить (Действия)
Цикл - Действия
Задать переменной PointFortress значение (Position of (Triggering unit))
Боевая единица - Create 1 Древо огня лвл 3 for (Owner of (Triggering unit)) at (PointFortress offset by 200.00 towards ((Real((Integer A))) x 35.00) degrees) facing Стандартная ориентация зданий degrees
Боевая единица - Add a 5.00 second Общий expiration timer to (Last created unit)
Иначе - Действия
Если (Все условия выполняются), то выполнить (Действия), иначе выполнить (Другие действия)
Если - Условия
(Level of Атака деревьев for (Triggering unit)) равно 4
То - Действия
 
Дата: Суббота, 19.01.2013, 20:35 | Сообщение # 2
Полковник
Модераторы
Сообщений: 249
Награды: 8
Репутация: 20
Дохлые юниты этот тоже ЮНИТЫ!Вот вам игра и засчитывает и мертвых врагов и мёртвых энтов по всей видимости.Тем боле что сами энты так же считаются как юниты и вокруг них тоже создаются энты.Попробуйте так же сменить триггеринг юнит на Picked Unit.Уровень способности проверяйте не у triggering unit а у Caster Unit.

"Я так хотел добра в плену своих идей
Я стал почти что рад и в окружении людей" Lumen "Зубы"
 
Дата: Суббота, 19.01.2013, 22:39 | Сообщение # 3
Лейтенант
Проверенные
Сообщений: 54
Награды: 0
Репутация: 1
Цитата (SERPENT1987)
Дохлые юниты этот тоже ЮНИТЫ!Вот вам игра и засчитывает и мертвых врагов и мёртвых энтов по всей видимости.Тем боле что сами энты так же считаются как юниты и вокруг них тоже создаются энты.Попробуйте так же сменить триггеринг юнит на Picked Unit.Уровень способности проверяйте не у triggering unit а у Caster Unit.

Это понятно я прошу подсказать мне действие Отряда.
 
Дата: Воскресенье, 20.01.2013, 00:22 | Сообщение # 4
Генералиссимус
Модераторы
Сообщений: 9045
Награды: 21
Репутация: 140
Lifeline, ну почему нельзя сделать скрин триггера, так читать нереально....

это Ксопик!
 
Дата: Воскресенье, 20.01.2013, 06:10 | Сообщение # 5
Полковник
Модераторы
Сообщений: 249
Награды: 8
Репутация: 20
Для каждого значения (Integer A) от 0 до 9 выполнить (Действия)
Цикл - Действия
Задать переменной PointFortress значение (Position of (Picked Unit))
Боевая единица - Create 1 Энт лвл 1 for (Owner of (CastingUnit)) at (PointFortress offset by 200.00 towards ((Real((Integer A))) x 35.00) degrees) facing Стандартная ориентация зданий degrees
Можно так же использовать RemoveUnit(DyingUnit) хоть трупы уберёте.А вообще позже установлю Warcraft и сделаю вам ваш триггер правильно а то наворотили чёрте что простите за выражение.Нет даже условия что бы не создавать энтов вокруг героя.


"Я так хотел добра в плену своих идей
Я стал почти что рад и в окружении людей" Lumen "Зубы"
 
Дата: Воскресенье, 20.01.2013, 06:41 | Сообщение # 6
Полковник
Модераторы
Сообщений: 249
Награды: 8
Репутация: 20
Событие
БЕ применяет скилл
Условие
Сравнение скилла.
Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Условие
(Level of Скилла(Вашего) for (Casting unit)) равен 1
То действия
Отряд - Pick every unit in (Units within 200.00 of (Position of (Casting unit)) matching ((Owner of (Triggering unit)) не равно (Owner of (Casting unit)))) and do (For each (Integer A) from 0 to 9, do (Set PointFortres = (Position of (Picked unit))))
Юнит - Создать 1 Ваш юнит(По уровню естессно) for (Owner of (Casting unit)) at ((Position of (Picked unit)) offset by 200.00 towards ((Real((Integer A))) x 35.00) degrees) facing стандарт degrees
Юнит - Add a 5.00 second общий expiration timer to (Picked unit)
Иначе
Сюда вставляете цикл "If then else" и меняете только уровень способности в условии и тип создаваемого юнита.


"Я так хотел добра в плену своих идей
Я стал почти что рад и в окружении людей" Lumen "Зубы"
 
Дата: Воскресенье, 20.01.2013, 10:03 | Сообщение # 7
Полковник
Модераторы
Сообщений: 249
Награды: 8
Репутация: 20
Юнит - Add a 5.00 second общий expiration timer to (Picked unit)
Извиняюсь тут как раз таки Last Created Unit.


"Я так хотел добра в плену своих идей
Я стал почти что рад и в окружении людей" Lumen "Зубы"
 
Дата: Воскресенье, 20.01.2013, 14:54 | Сообщение # 8
Лейтенант
Проверенные
Сообщений: 54
Награды: 0
Репутация: 1
Цитата (SERPENT1987)
Событие
БЕ применяет скилл
Условие
Сравнение скилла.
Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Условие
(Level of Скилла(Вашего) for (Casting unit)) равен 1
То действия
Отряд - Pick every unit in (Units within 200.00 of (Position of (Casting unit)) matching ((Owner of (Triggering unit)) не равно (Owner of (Casting unit)))) and do (For each (Integer A) from 0 to 9, do (Set PointFortres = (Position of (Picked unit))))
Юнит - Создать 1 Ваш юнит(По уровню естессно) for (Owner of (Casting unit)) at ((Position of (Picked unit)) offset by 200.00 towards ((Real((Integer A))) x 35.00) degrees) facing стандарт degrees
Юнит - Add a 5.00 second общий expiration timer to (Picked unit)
Иначе
Сюда вставляете цикл "If then else" и меняете только уровень способности в условии и тип создаваемого юнита.

Позже посмотрю но там не в этом дело, трабла в отряде так как для каждого integer A он создает еще 9 деревьев, как сделать чтобы он пикал только 1 юнита (героя использовавший эту способность)
 
Дата: Воскресенье, 20.01.2013, 15:47 | Сообщение # 9
Генералиссимус
Модераторы
Сообщений: 9045
Награды: 21
Репутация: 140
Используй свои переменные, Integer A может сбиваться если ещё где-то используется.

это Ксопик!
 
Дата: Воскресенье, 20.01.2013, 16:37 | Сообщение # 10
Полковник
Модераторы
Сообщений: 249
Награды: 8
Репутация: 20
Согласен тут через свою целочисленную (Integer) переменную куда проще будет только в конец каждого цикла "If then else" на до добавить функцию - установить переменную (Set Variable) = 0 иначе будет ещё веселее дело с энтами :)

"Я так хотел добра в плену своих идей
Я стал почти что рад и в окружении людей" Lumen "Зубы"
 
Форум » Картостроение в Warcraft 3 » Обучение » Баг скила
Страница 1 из 212»
Поиск: