У героя 12 игрока должно отниматься здоровье днем,ночью нет. (с 6:00 - утро,ночь - 18:00) Есть специальные зоны,в которых он будет жить днем. Как такое сделать? И юнитами 12-того игрока,если не там они.

Принятый ответ

Таймер , проверки на текущее время суток + находится ли герой в безопасной области . Если время суток находится в дневном интервале и герой находится вне области - то отнимаешь хп. В противном случае do nothing :)
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
16
7 лет назад
0
Как отнимать ,хз
call SetUnitLife(u, UNIT_STATE_LIFE, GetUnitState(u, UNIT_STATE_LIFE)-n)
0
26
7 лет назад
Отредактирован Hate
0
Как отнимать ,хз
call SetUnitLife(u, UNIT_STATE_LIFE, GetUnitState(u, UNIT_STATE_LIFE)-n)
даже так триггер не будет работать с таким гениальным условием
0
32
7 лет назад
0
Для начала создай триггер, с событием время истекло, периодический, никаких условий в него не ставь, изначально триггер должен быть отключен.
Создай новую переменную типа "отряд" (название по вкусу). В действиях триггера, вносишь действие для каждого юнита в группе, сделать действие - нанести урон юниту GetEnumUnit(), сколько урона и какого типа по вкусу.
Потом делаешь второй триггер, у него событие время изменилось, ну и действия включить или выключить первый триггер.
Третий триггер, событие - юнит игрока умирает. Условие юнит находится в группе юнитов (та переменная что ты создал в первом триггере)
Действие - удалить юнита из группы.
Третий триггер - событие юнит выходит из области, условие - юнит принадлежит игроку 12, действие добавить юнита в группу (переменную из первого триггера)
Ну и еще для входа обратно, думаю догадаешься.
0
11
7 лет назад
0
quq_CCCP:
Для начала создай триггер, с событием время истекло, периодический, никаких условий в него не ставь, изначально триггер должен быть отключен.
Создай новую переменную типа "отряд" (название по вкусу). В действиях триггера, вносишь действие для каждого юнита в группе, сделать действие - нанести урон юниту GetEnumUnit(), сколько урона и какого типа по вкусу.
Потом делаешь второй триггер, у него событие время изменилось, ну и действия включить или выключить первый триггер.
Третий триггер, событие - юнит игрока умирает. Условие юнит находится в группе юнитов (та переменная что ты создал в первом триггере)
Действие - удалить юнита из группы.
Третий триггер - событие юнит выходит из области, условие - юнит принадлежит игроку 12, действие добавить юнита в группу (переменную из первого триггера)
Ну и еще для входа обратно, думаю догадаешься.
Ладно,а если сделать так,когда наступает 6:00 ,то игрок 12-тый проиграл? Не убив других героев 11 игроков
0
32
7 лет назад
0
Есть такое соыбытие - время настало, ну или переодически проверяешь игровое время, больше 6.00 и меньше 17.59 , условие значение в целочисленной переменной меньше 1, дейсвтие - CustomDefeat вроде называется эта функция в гуи, кароче установить поражение игроку 12 и выпнуть его из игры.
0
28
7 лет назад
0
quq_CCCP:
Для начала создай триггер, с событием время истекло, периодический, никаких условий в него не ставь, изначально триггер должен быть отключен.
Зачем же делать периодический триггер? Не лучше ли сделать периодический таймер?
0
32
7 лет назад
0
PT153, в гуях? Ок, делай...
Нет если серьезно можно все делать на одном таймере и триггере, но как бы тут гуи ясельного уровня, поэтому надо попроще...
0
29
6 лет назад
Отредактирован Волчачка
0
У героя 12 игрока должно отниматься здоровье днем,ночью нет. (с 6:00 - утро,ночь - 18:00) Есть специальные зоны,в которых он будет жить днем. Как такое сделать? И юнитами 12-того игрока,если не там они.
Мне кажется, что вы видели подобное в кампании "Возвращение Короля Мёртвых", где была миссия доставить послание Траллу. Но конце посла с его отрядом ждёт засада нежити. Там как раз был триггер имитации жары пустыни, которое мучает жаждой и медленно снимает здоровье. Но действует это на опр. области.
Это можно сделать периодически, проверяет одно условие, и два триггера, которые переключают друг-друга, а периодический триггер выбирает воинов игрока, уменьшая им здоровье.
Но в вашем случае это только одного героя, ну тут проще Как я говорил два триггера, +триггер отниматель хп с проверкой условной перемененной.
avuremybe:
call SetUnitLife(u, UNIT_STATE_LIFE, GetUnitState(u, UNIT_STATE_LIFE)-n)
Лучше:
call SetUnitLife(u, UNIT_STATE_LIFE, GetWidgetLife(u)-n)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.