Временное повешение разума
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 16:02:53 | Сообщение # 1 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| У меня есть триггер: Событие: Боевая единица - Событие начинает направлять способность Условие: Применяемая способность равно временное повышение разума Действие: Если все условия истинны тогда запуск операции иначе: Если: Уровень временное повышение разума у применяющий юнит равно 1 То: Герой изменить разум героя юнит цель применяемой способности: добавить 5 Ждать 30 сек Герой изменить разум героя юнит цель применяемой способности: вычесть 5 Иначе: Ничего не делать -------------------------- У меня повышается разум но через 30 сек не понижается, в чем проблема?
|
|
|
|
Diabfall | Дата: Пятница, 10 Июня 2011, 16:07:12 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Проблема в том, что так долго инфа о "цель применяемой способности" в памяти не хранится. т.е. Нужно использовать переменные.
|
|
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 16:14:35 | Сообщение # 3 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| Какие?
|
|
|
|
SunCreep | Дата: Пятница, 10 Июня 2011, 16:16:33 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Psinion, тип БЕ раз уж ты имеешь дела с боевой единицей,не?
|
|
|
|
[DS] | Дата: Пятница, 10 Июня 2011, 16:20:06 | Сообщение # 5 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| лучше локальными переменными, а то там вейт есть
|
|
|
|
SunCreep | Дата: Пятница, 10 Июня 2011, 16:24:21 | Сообщение # 6 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| [DS], естесно + целочисленная,за каждый юз и после вычитать.
|
|
|
|
Diabfall | Дата: Пятница, 10 Июня 2011, 16:24:26 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Quote (|DS|) лучше локальными переменными, а то там вейт есть Тогда ему ещё придётся разбираться с хэшом. И вейты пойдут для начала... Главное помнить, что они ведут себя очень плохо только при значениях меньше 1.
Сообщение отредактировал Diabfall - Пятница, 10 Июня 2011, 16:28:08 |
|
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 16:25:46 | Сообщение # 8 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| Я не чего не понял... Можно более легким языком?
|
|
|
|
Diabfall | Дата: Пятница, 10 Июня 2011, 16:30:38 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Quote (Psinion) Я не чего не понял... Можно более легким языком? Знаешь, что такое локальные и глобальные переменные? Вообще с переменными в редакторе знаком?
|
|
|
|
SunCreep | Дата: Пятница, 10 Июня 2011, 16:35:28 | Сообщение # 10 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Psinion, более лёгким?Окей: В редакторе триггеров ищи сверху букву "хэ" жёлтого цвета.Жмякай,там "хэ" зелёного.Там выбери тип БЕ и кликни на галочку массив.Напиши название английскими буквам какое хочешь,это не важно.Создаёшь 2 переменные Тип Целочисленная и Тип боевая единица.БЕ должна быть с флажком массив,а целочисленная нет. Далее есть действие установить переменную.При использовании скила ставь на первом месте Целочисленная равно Целочисленная + 1 Установить цель скила равно БЕ[целочисленная]
далее твои действия
вейт
установить Целочисленная равно Целочисленная - 1Добавлено (10-06-2011, 16:35) --------------------------------------------- мне кажется,что я что-то упустил...У меня голова не варит чё-то...
|
|
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 16:37:46 | Сообщение # 11 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| Про локальные и глобальные переменные не знаком, а так я знаком с Целоисчеслительной для вероятности
|
|
|
|
DragoN | Дата: Пятница, 10 Июня 2011, 16:39:54 | Сообщение # 12 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| используй таймер, а не ждать
El Psy Congroo
|
|
|
|
[DS] | Дата: Пятница, 10 Июня 2011, 16:51:23 | Сообщение # 13 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| ему хватает и ждать, а таймерами он вообще ни чего не поймет
|
|
|
|
SirNikolas | Дата: Пятница, 10 Июня 2011, 17:38:02 | Сообщение # 14 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Создай следующие переменные: массив таймеров MHIT_Timer, массив юнитов MHIT_Hero, массив целочисленных MHIT_Int и две целочисленные - MHIT_Cur и MHIT_Max, причем Max по умолчанию должна быть равна 1!
Скопируй этот код в секцию Нестандартного кода (иконка свитка в древе триггеров), а в своем триггере установи какую-нибудь переменную типа боевая единица на того юнита, которому нужно прибавить интеллект и пропиши Личным сценарием (Custom script): call ModifyHeroIntTimed(udg_<имя переменной>, <количество интеллекта>, <время>). Например:
Set MyHero = (Target unit of ability being cast) Custom script: call ModifyHeroIntTimed(udg_MyHero, 5, 30.) Code function ModifyHeroIntTimed_Timer takes nothing returns nothing local timer t = GetExpiredTimer() local integer i = 0 loop exitwhen t == udg_MHIT_Timer[i] set i = i + 1 endloop call SetHeroInt(udg_MHIT_Hero[i], GetHeroInt(udg_MHIT_Hero[i], true) - udg_MHIT_Int[i], true) set udg_MHIT_Cur = udg_MHIT_Cur - 1 set udg_MHIT_Hero[i] = udg_MHIT_Hero[udg_MHIT_Cur] set udg_MHIT_Int[i] = udg_MHIT_Int[udg_MHIT_Cur] set udg_MHIT_Timer[i] = udg_MHIT_Timer[udg_MHIT_Cur] set udg_MHIT_Timer[udg_MHIT_Cur] = t set t = null endfunction
function ModifyHeroIntTimed takes unit hero, integer int, real time returns nothing if udg_MHIT_Cur > udg_MHIT_Max then set udg_MHIT_Timer[udg_MHIT_Cur] = CreateTimer() set udg_MHIT_Max = udg_MHIT_Max + 1 endif call SetHeroInt(hero, GetHeroInt(hero, true) + int, true) set udg_MHIT_Hero[udg_MHIT_Cur] = hero set udg_MHIT_Int[udg_MHIT_Cur] = int call TimerStart(udg_MHIT_Timer[udg_MHIT_Cur], time, false, function ModifyHeroIntTimed_Timer) set udg_MHIT_Cur = udg_MHIT_Cur + 1 endfunction
Сообщение отредактировал SirNikolas - Пятница, 10 Июня 2011, 18:28:57 |
|
|
|
SunCreep | Дата: Пятница, 10 Июня 2011, 17:43:58 | Сообщение # 15 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
|
|
|
|
|
Diabfall | Дата: Пятница, 10 Июня 2011, 17:45:52 | Сообщение # 16 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Quote (Psinion) Я не чего не понял... Можно более легким языком? Quote (Psinion) Про локальные и глобальные переменные не знаком, а так я знаком с Целоисчеслительной для вероятности
|
|
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 18:10:05 | Сообщение # 17 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| Diabfall, Знать как можно сделать вероятность и не понимать что такое локальные и глобальные переменные по моему можно... SirNikolas, Я не понимаю что это такое, наверно джас, и не буду это вставлять в карту пока не пойму как это делается...
|
|
|
|
[DS] | Дата: Пятница, 10 Июня 2011, 18:15:30 | Сообщение # 18 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| ну я говорил что он не поймет
|
|
|
|
SirNikolas | Дата: Пятница, 10 Июня 2011, 18:19:03 | Сообщение # 19 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Psinion, если я распишу тебе значение каждой строки, ты поймешь? Или можно не стараться?
|
|
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 18:24:44 | Сообщение # 20 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| SirNikolas, Я действительно не понимаю... что нельзя на ГУИ попробовать написать? Если честно из всей этой темы я не чего не понял, я попросил по понятней, а ты Джасс написал...
|
|
|
|
SunCreep | Дата: Пятница, 10 Июня 2011, 18:26:57 | Сообщение # 21 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| SirNikolas, нет смысла.Он не понимает функцию потому,что не знает код.Если ты ему пояснишь,и даже если он всё поймёт,то смысла в этом нет,т.к. понимание нужно чтоб использовать дальше,а что он будет использовать дальше,если не знает как массивы лепить. Добавлено (10-06-2011, 18:26) --------------------------------------------- Psinion, если я тебе наработку сделаю,ты поймёшь?На GuI.
|
|
|
|
Psinion | Дата: Пятница, 10 Июня 2011, 18:29:23 | Сообщение # 22 |
4 уровень
Группа: Проверенные
Сообщений: 90
Награды: 0
Репутация: 11
Блокировки:
| да, заранее спасибо
|
|
|
|
SirNikolas | Дата: Пятница, 10 Июня 2011, 18:29:34 | Сообщение # 23 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| SunCreep, с wait'ами?
|
|
|
|
SunCreep | Дата: Пятница, 10 Июня 2011, 18:30:48 | Сообщение # 24 |
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
| Quote (SirNikolas) SunCreep, с wait'ами? Ну,может быть я попробуй с таймером)
|
|
|
|
SirNikolas | Дата: Пятница, 10 Июня 2011, 18:31:35 | Сообщение # 25 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (SunCreep) с таймером) С одним?
|
|
|
|