Типо прыжок
|
|
TohaAKA | Дата: Вторник, 04 Января 2011, 13:24:07 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Я замучился искать и пробовать. Выложите скрин плиз, как на ГУИ сделать, так чтобы юнит просто, наместе, подлетел (на высоту 300 к примеру) и опустился.
|
|
|
|
[stebashka] | Дата: Вторник, 04 Января 2011, 13:26:01 | Сообщение # 2 |
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
| Даешь способность Превратится в ворона изменяешь высоту полета на нужную тебе (Анимация) Удаляешь способность ворона
|
|
|
|
Dreii | Дата: Вторник, 04 Января 2011, 14:11:47 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| TohaAKA, Code local unit u=GetSpellTargetUnit() if GetSpellAbilityId() == 'A000' then UnitAddAbility(u, 'Amrf') call SetUnitFlyHeight(u, 700, 0) call UnitRemoveAbility(u, 'Amrf') endif set u=null endfunction При применении способности на юнита он подлетает на 700
|
|
|
|
SirNikolas | Дата: Вторник, 04 Января 2011, 14:15:11 | Сообщение # 4 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Dreii, 1. Забыл поставить "call" перед UnitAddAbility. 2. Обнуляй юнита вне if'а. 3. Quote (TohaAKA) подлетел (на высоту 300, к примеру) и опустился. А у тебя только подлетает.
Сообщение отредактировал SirNikolas - Вторник, 04 Января 2011, 14:18:53 |
|
|
|
Dreii | Дата: Вторник, 04 Января 2011, 14:17:22 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| SirNikolas, я в не ифа обнулил Добавлено (04-01-2011, 14:17) --------------------------------------------- Code local unit u=GetSpellTargetUnit() if GetSpellAbilityId() == 'A000' then call UnitAddAbility(u, 'Amrf') call SetUnitFlyHeight(u, 700, 0) call SetUnitFlyHeight(u, 0,2) call UnitRemoveAbility(u, 'Amrf') endif set u=null endfunction
Сообщение отредактировал Dreii - Вторник, 04 Января 2011, 14:24:28 |
|
|
|
SirNikolas | Дата: Вторник, 04 Января 2011, 14:20:29 | Сообщение # 6 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Насчет if - извини, не заметил. Но сейчас будет работать по-другому: юнит мгновенно окажется на высоте 700, а затем в течении 700 сек. будет опускаться.
|
|
|
|
Dreii | Дата: Вторник, 04 Января 2011, 14:24:52 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| SirNikolas, таймер хэш, или PolledWait Добавлено (04-01-2011, 14:24) --------------------------------------------- SirNikolas, хотя можно делать так call SetUnitFlyHeight(u, 0,5)
|
|
|
|
TohaAKA | Дата: Вторник, 04 Января 2011, 14:32:28 | Сообщение # 8 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| как на ГУИ сделать Quote Даешь способность Превратится в ворона изменяешь высоту полета на нужную тебе (Анимация) Удаляешь способность ворона Чтот нублю не получается Мона скрин?
Сообщение отредактировал TohaAKA - Вторник, 04 Января 2011, 14:35:39 |
|
|
|
SirNikolas | Дата: Вторник, 04 Января 2011, 14:33:05 | Сообщение # 9 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Таймер - хэш, да.Code function Trig_Jump_Timer takes nothing returns nothing local timer t = GetExpiredTimer() local integer ID = GetHandleId(t) call SetUnitFlyHeight(LoadUnitHandle(udg_Hash, ID, 0), LoadReal(udg_Hash, ID, 1), 5.) call DestroyTimer(t) call FlushChildHashtable(udg_Hash, ID) set t = null endfunction
function Trig_Jump_Actions takes nothing returns nothing local unit u = GetSpellTargetUnit() local real r = GetUnitFlyHeight(u) local timer t local integer ID if GetSpellAbilityId() == 'A000' then set t = CreateTimer() set ID = GetHandleId(t) call UnitAddAbility(u, 'Amrf') call UnitRemoveAbility(u, 'Amrf') call SetUnitFlyHeight(u, r + 700., 5.) call SaveUnitHandle(udg_Hash, GetHandleId(t), 0, u) call SaveReal(udg_Hash, ID, 1, r) call TimerStart(t, 5., false, function Trig_Jump_Timer) set t = null endif set u = null endfunction
function InitTrig_Jump takes nothing returns nothing local trigger trig = CreateTrigger() local integer i = 0 set udg_Hash = InitHashtable() loop call TriggerRegisterPlayerUnitEvent(trig, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null) exitwhen i == 15 set i = i + 1 endloop call TriggerAddAction(trig, function Trig_Jump_Actions) set trig = null endfunction Нужно создать триггер Jump, нажать "Правка -> Конвертировать в текст" и заменить то, что получится, на этот код. Также нужно создать переменную Hash класса хэш-таблица.
Сообщение отредактировал SirNikolas - Вторник, 04 Января 2011, 14:34:36 |
|
|
|
IlgardIo | Дата: Вторник, 04 Января 2011, 14:35:02 | Сообщение # 10 |
3 уровень
Группа: Пользователи
Сообщений: 57
Награды: 0
Репутация: 11
Блокировки:
| SirNikolas, Зачем луп в иниц тригера? Что оптимизирует?
|
|
|
|
Dreii | Дата: Вторник, 04 Января 2011, 14:35:58 | Сообщение # 11 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| IlgardIo, раскрытие bj
|
|
|
|
SirNikolas | Дата: Вторник, 04 Января 2011, 14:36:13 | Сообщение # 12 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Добавление события.
|
|
|
|
TohaAKA | Дата: Вторник, 04 Января 2011, 14:40:01 | Сообщение # 13 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Не мне всетаки на ГУИ надо т.к. я ДЖАС нее понимаю, а подпрыгивание это не все, что надо, это только 20%
|
|
|
|
Kartoha | Дата: Вторник, 04 Января 2011, 14:42:50 | Сообщение # 14 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| Недавно делал заклинание на заказ, там как рас герой взлетает на месте, держи.
|
|
|
|
TohaAKA | Дата: Вторник, 04 Января 2011, 14:58:18 | Сообщение # 15 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Круть подлетел, теперь помогите чтоб группа подлетела. Вот что я сделал. Там не все видно, в конце переменной кратко "принадлежащие коричневому".
Сообщение отредактировал TohaAKA - Вторник, 04 Января 2011, 15:11:03 |
|
|
|
rep-30011 | Дата: Вторник, 04 Января 2011, 15:01:35 | Сообщение # 16 |
7 уровень
Группа: Проверенные
Сообщений: 300
Награды: 0
Репутация: 18
Блокировки:
| если хочеш чтобы подлетела группа заноси в отряд и делай тоже самое только для выбранного юнита
ИНФА Ланшафтинг - 10% Декорирование - 5% Джасс - 3% Спелмейкер (создатель спелов) - 100% Основные триггеры - 100% Фантазия - 83%
|
|
|
|
Kartoha | Дата: Вторник, 04 Января 2011, 15:38:58 | Сообщение # 17 |
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
| TohaAKA, не Matching Unit а Picked Unit
|
|
|
|
SirNikolas | Дата: Вторник, 04 Января 2011, 15:53:08 | Сообщение # 18 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| И не "Начинает применять способность" а "Приводит способность в действие".
|
|
|
|
TohaAKA | Дата: Среда, 05 Января 2011, 12:51:33 | Сообщение # 19 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Практически получилось =) Только они у меня не спускаются. =( И еще подскажите как настроить взлет и падение т.е. какая цифра за что отвечает.
|
|
|
|
SirNikolas | Дата: Среда, 05 Января 2011, 13:00:41 | Сообщение # 20 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (TohaAKA) Анимация - Change (Picked unit) flying height to 0.00 at 800.00 Перевожу: Сменить выбранному юниту высоту на 0.00 за 800.00 секунд.
Сообщение отредактировал SirNikolas - Среда, 05 Января 2011, 13:01:09 |
|
|
|
TohaAKA | Дата: Среда, 05 Января 2011, 13:05:42 | Сообщение # 21 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Ок. А как решитьто, что они у меня не падают?
|
|
|
|
SirNikolas | Дата: Среда, 05 Января 2011, 13:09:48 | Сообщение # 22 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (SirNikolas) за 800.00 секунд. Они падают, только очень медленно.
|
|
|
|
TohaAKA | Дата: Среда, 05 Января 2011, 13:14:37 | Сообщение # 23 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Последний вопрос: Как заставить юнита нанести дамаг в радиусе не причиняя урона себе. а то у меня дохнет
|
|
|
|
SirNikolas | Дата: Среда, 05 Января 2011, 13:21:39 | Сообщение # 24 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Set Point = (Position of Юнит 0000 <gen>) Custom Script: set bj_wantDestroyGroup = true Отряд - Pick every unit in (Units within <радиус> of Point) matching (((Matching unit) belongs to an ally of (Owner of (Юнит 0000 <gen>))) = Нет) and do (Actions) _Боевая единица - Order Юнит 0000 <gen> to damage (Picked unit), dealing <урон> damage, attack type Сила Тьмы, damage type Обычный. Custom script: call RemoveLocation(udg_Point)
|
|
|
|
TohaAKA | Дата: Среда, 05 Января 2011, 13:31:25 | Сообщение # 25 |
6 уровень
Группа: Проверенные
Сообщений: 160
Награды: 0
Репутация: 45
Блокировки:
| Не получается сделать этот вопрос последним. Никак не хотя падать. Вот так стоит у мя, оони подлетают и все, хотя в скинутой Kartoha наработке гер падает. Ой там где они должны падать стоит время 1.
Сообщение отредактировал TohaAKA - Среда, 05 Января 2011, 13:52:00 |
|
|
|