Сейчас 01:01:21 Суббота, 4 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Время жизни юнита
Время жизни юнита
HiddenNonsenseДата: Среда, 26 Декабря 2012, 18:47:21 | Сообщение # 1
3 уровень
Группа: Проверенные
Сообщений: 43
Награды: 0
Репутация: 16
Блокировки:
Вот не знаю даже как лучше реализовать время жизни юнита.
Мне нужно что бы определенная группа юнитов умирала через (допустим) 5 минут.

Пробовал сделать с условием что юнит покидает область(юнит определенного типа), дать ему скил и заюзать его. Потом после того как он его заюзал, ждать 5 минут и убить его.
Проблема в том что по той самой области игрок может специально "погулять". Посему вариант отпадает.

Добавлено (26 Декабря 2012, 18:47:21)
---------------------------------------------
А точнее, нужно как-то установить время жизни юнита.

 

[SeKtOR]Дата: Среда, 26 Декабря 2012, 19:03:19 | Сообщение # 2
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Боевая единица - Add expiration timer(вроде так)
CS: call UnitApplyTimedLife(whichUnit, 'BTLF', 5.)




Сообщение отредактировал [SeKtOR] - Среда, 26 Декабря 2012, 19:04:54
 

HiddenNonsenseДата: Среда, 26 Декабря 2012, 19:34:24 | Сообщение # 3
3 уровень
Группа: Проверенные
Сообщений: 43
Награды: 0
Репутация: 16
Блокировки:
Попробую :D

Добавлено (26 Декабря 2012, 19:34:24)
---------------------------------------------
BTLF это мой юнит? я записал вот так call UnitApplyTimedLife(whichUnit, 'h006', 5.) и jasshelper выдал ошибку(

 

NaturekidДата: Среда, 26 Декабря 2012, 19:38:27 | Сообщение # 4
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
добавляй гуишной функцией в отдельный триг, конвертируй в текст, лепи в нужный триг. :D

 

HiddenNonsenseДата: Среда, 26 Декабря 2012, 19:44:02 | Сообщение # 5
3 уровень
Группа: Проверенные
Сообщений: 43
Награды: 0
Репутация: 16
Блокировки:
Naturekid, с моим уровнем знания не проканает ._.
либо должно осенить :D
 

NaturekidДата: Среда, 26 Декабря 2012, 19:51:45 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
HiddenNonsense, ты на ГУИ или на джассе делаешь?
Тебе же написали:
ГУИ:
Цитата (|SeKtOR|)
Боевая единица - Add expiration timer(вроде так)

джасс:
Цитата (|SeKtOR|)
CS: call UnitApplyTimedLife(whichUnit, 'BTLF', 5.)

Добавлено (26 Декабря 2012, 19:49:47)
---------------------------------------------
не уверен насчёт джасса, мб и опечатался, но в текстовом виде так:
call UnitApplyTimedLifeBJ( 60, 'BTLF', GetTriggerUnit() )

Добавлено (26 Декабря 2012, 19:50:13)
---------------------------------------------
1 поле - длительность, 2 - тип(ну это не важно), 3 - юнит

Добавлено (26 Декабря 2012, 19:51:45)
---------------------------------------------

Цитата (|SeKtOR|)
CS: call UnitApplyTimedLife(whichUnit, 'BTLF', 5.)

а тут 1 - юнит, 2 - тип таймера, 3 - время в секундах


 

HiddenNonsenseДата: Среда, 26 Декабря 2012, 20:01:51 | Сообщение # 7
3 уровень
Группа: Проверенные
Сообщений: 43
Награды: 0
Репутация: 16
Блокировки:
Я не думал что это 2 разных варианта О_о не написали же.
 

[SeKtOR]Дата: Среда, 26 Декабря 2012, 22:05:27 | Сообщение # 8
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Цитата (Naturekid)
call UnitApplyTimedLifeBJ( 60, 'BTLF', GetTriggerUnit() )

А у меня раскрытая эта BJ функция trollface


 

HiddenNonsenseДата: Четверг, 27 Декабря 2012, 10:53:56 | Сообщение # 9
3 уровень
Группа: Проверенные
Сообщений: 43
Награды: 0
Репутация: 16
Блокировки:
Всё получилось)) Пытался для начала джасс припилить, не получилось. Потом засунул в гуи-формате, и всё ок :D
Странно даже, что не знал про такую функцию в гуи... :(

Спасибо большое, думаю эта статья поможет таким же отчаянным нубкам как я :D

тему можно закрывать :)
 

ВолчачкаДата: Четверг, 27 Декабря 2012, 11:52:53 | Сообщение # 10
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Цитата (|SeKtOR|)
Сообщение # 2

Цитата (Naturekid)
Сообщение # 6

Смешно получилось.
call UnitApplyTimedLife(GetTriggerUnit(), 'BTLF', 5.)

Код

function UnitApplyTimedLifeBJ takes real duration, integer buffId, unit whichUnit returns nothing
      call UnitApplyTimedLife(whichUnit, buffId, duration)
endfunction

Добавлено (27 Декабря 2012, 11:52:53)
---------------------------------------------

Цитата (Naturekid)
не уверен насчёт джасса, мб и опечатался, но в текстовом виде так:
call UnitApplyTimedLifeBJ( 60, 'BTLF', GetTriggerUnit() )

Зачем это в текстовом ?, Когда в визуальном есть. Понимаю, если с локальной переменной работать.


Сообщение отредактировал Волчачка - Четверг, 27 Декабря 2012, 11:38:36
 

PebblesДата: Пятница, 28 Декабря 2012, 11:36:06 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 258
Награды: 0
Репутация: 1335
Блокировки:
Волк шарит.)))

Yabba Dabba Doo!
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Время жизни юнита
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz