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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Отсчет времени, если юнит находиться в зоне (Юнит вошел в зону и через некоторое время выполнил действие)
Отсчет времени, если юнит находиться в зоне
WedeR00Дата: Понедельник, 20 Декабря 2010, 16:42:14 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
Такая проблема:
Мне нужно сделать так, что бы юнит вошел в зону и через 20 секунд уничтожился (Если он находился все это время в это же зоне).
Как я понял, это должно быть условие. Но полазив по условиям, я ничего не нашел (того что относиться к таймерам). Пожалуйста, помогите, как это сделать.
Если более детально то:
Юнит появился (сделал), прошел первую зону (сделал), зашел во вторую зону (сделал) и через 20 секунд, если был в зоне, уничтожился.
Заранее благодарен!
 

DreiiДата: Понедельник, 20 Декабря 2010, 16:47:26 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
WedeR00, Создай таймер на 20 сек. Сделай триггер с событием Таймер исеткает Д:Выбрать юнитов в регионе и убить)

 

TheProExДата: Понедельник, 20 Декабря 2010, 16:57:14 | Сообщение # 3
1 уровень
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Блокировки:
Событие-Юнит вошел в зону
Условие-Сравнение отрядов-Переключающий юнит равно (Здесь выбираешь своего юнита)
Действие-Общие параметры - Ждать 20 сек
- Боевая единица - Убить (Здесь выбираешь своего юнита)
 

DreiiДата: Понедельник, 20 Декабря 2010, 16:59:47 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
TheProEx, не то. ему надо убить по истичении 20 секунд,но если только юнит в облости стоит етой

 

WedeR00Дата: Понедельник, 20 Декабря 2010, 17:07:41 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
Dreii, да. Если с зоны вышел - ничего не нужно. Полазив еще по редактору тиггеров нашел действие "поражение". Я думаю применю его.
Итак, мне нужно что б выполнилось это действие, если юнит находился в зоне (пускай 120сек).
Мне главное сделать так, что б таймер включился когда юнит зашел в зону и выключился, если юнит покинул зону (а по идее мапы -его убили).
Детальние опишу идею: с двух сторон идут крипы, они вражеские (как в доте), бьються между собой. Но к ним можно "влазить" и изменять ход сражения. И если крипы одной из команд подойдут к вражеской и будут находиться пред вратами 120сек. то игрок получил поражение.
 

FkoFFДата: Понедельник, 20 Декабря 2010, 17:09:06 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Dreii, бред.

проще уж

событие: Every 1 second of gametime

pick every unit in UnitGroupContainsAllUnitsInRegion:
saveinteger(udg_Data,GetHandleId(GetEnumUnit()), 1, 1+Loadinteger(udg_Data,GetHandleId(GetEnumUnit()), 1))
if Loadinteger(udg_Data,GetHandleId(GetEnumUnit()), 1) >= 20 then
Kill EnumUnit()
endif
endgroup

pick every unit in UnitGroupByCondition:UnitIn'Region' = false, LoadInteger(udg_Data,GetHandleId(getenumunit()), 1) > 0 then
RemoveSavedInteger(udg_Data,GetHandleId(GetEnumUnit()),1)
endgroup

далее зачищаем утечные группы и були. Собсна все.

И да, это не джасс код, хотя элементы его всеравно присутствуют. Такой триггер создать - 10 минут.




Сообщение отредактировал FkoFF - Понедельник, 20 Декабря 2010, 17:10:13
 

[stebashka]Дата: Понедельник, 20 Декабря 2010, 17:10:02 | Сообщение # 7
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
Юнит входи в область - запускай таймер.
Выходит останавливай, удаляй
по истечении таймера Поражение


 

FkoFFДата: Понедельник, 20 Декабря 2010, 17:10:33 | Сообщение # 8
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
[stebashka], вообще событие по юниту вошедшему в область - сумасшедшие )

 

DreiiДата: Понедельник, 20 Декабря 2010, 17:12:06 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
FkoFF, Да ну.. мне легче с таймерами... хз что за хэш таблицы и с чем их употребляют и в каком виде.....

 

[stebashka]Дата: Понедельник, 20 Декабря 2010, 17:15:39 | Сообщение # 10
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
FkoFF, Согласен. но т.к. я нуб другого способа не знаю.
написанный тобой мне непонятен) у меня русс триггеры, а услышав про жасс вообще отпало желание разбираться


 

DreiiДата: Понедельник, 20 Декабря 2010, 17:16:58 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Найдя
Quote (FkoFF)
saveinteger(udg_Data,GetHandleId(GetEnumUnit()), 1, 1+Loadinteger(udg_Data,GetHandleId(GetEnumUnit()), 1))

сразу
Quote (|stebashka|)
отпало желание разбираться

)))


 

WedeR00Дата: Понедельник, 20 Декабря 2010, 17:21:00 | Сообщение # 12
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
[stebashka] можеш пожалуйста скинуть русс тигеры. Или весь редактор. Пожалуйста.
 

DreiiДата: Понедельник, 20 Декабря 2010, 17:23:13 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (WedeR00)
Или весь редактор

С чего начнем?
Событие Инициализация Карты
Событие Декорация Разрушаемый объект уничтожен

ПродолжатЬ?)))


 

[stebashka]Дата: Понедельник, 20 Декабря 2010, 17:26:28 | Сообщение # 14
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
Руссие триггеры Файлы из архива кинь в папку с игрой

 

FkoFFДата: Понедельник, 20 Декабря 2010, 17:28:29 | Сообщение # 15
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
На таймерах - все будет очень громоздко и ни разу не тонко.

 

WedeR00Дата: Понедельник, 20 Декабря 2010, 17:32:45 | Сообщение # 16
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
Спасибо большое.
Попробовал сделать твоим способом: ничего не вышло. Таймер почему-то запускаеться еще до входа юнитов в зону (Я пока попробовал без остановки таймера).

http://radikal.ru/F/i051.radikal.ru/1012/01/142fa8f489b5.jpg.html][IMG]http://i051.radikal.ru/1012/01/142fa8f489b5t.jpg

Добавлено (20-12-2010, 17:32)
---------------------------------------------
Сообшение было для [stebashka] .. странно не могу найти кнопку "редактировать".. (пост)

 

[stebashka]Дата: Понедельник, 20 Декабря 2010, 17:35:17 | Сообщение # 17
пути и нити разными бывают
Группа: Библиотекари
Сообщений: 4719
Награды: 5
Блокировки:
У тебя нет других триггеров на запуск таймера?

 

DreiiДата: Понедельник, 20 Декабря 2010, 17:44:08 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
WedeR00, Карта-пример

 

WedeR00Дата: Понедельник, 20 Декабря 2010, 19:41:24 | Сообщение # 19
6 уровень
Группа: Проверенные
Сообщений: 162
Награды: 0
Репутация: 29
Блокировки:
Спасибо ув. Dreii

Добавлено (20-12-2010, 19:41)
---------------------------------------------
Еще одна трабла: Нужно сделать так, что б юниты, которые прибежали в эту зону заняли оборону и были в этой зоне (если их специально будут выводить - не страшно).. Подскажите действие пожалуйста.. А то руссификатор чо-то ошибку выдает (на прежне сделаные мапы).

 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Отсчет времени, если юнит находиться в зоне (Юнит вошел в зону и через некоторое время выполнил действие)
  • Страница 1 из 1
  • 1
Поиск:

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