если простой указатель способнть то лучше без тригера
как раз являет приоритетный ответ орда герой ловчий (В доте называет раста) змея. заменяем юнит на свой и выбираем его как вызываемый и работаете!
каждый тик наносить юнит если являет 100% снимаем ему 0.4 хп вы так не увидите его изменение хп и будет работать скил. хотя это мое воображение =) Не тестил!
quq_CCCP, хендлы останет если на него сылает даже удаленый юнит как бы! А когда почишаеш то хендл уменшает даже если мусор удалил юнитов! Или я ошибься =) Суть ответ выше уже написали заменить триггер на каст юнит
зачем внешние очишаеш структуру? когда есть спец destroy через метод onDestroy и там подчишай что станет легче и так у тя не все показано а лишь линейный код
Судя вы хотите делать игру как червяк? где верху время дни и ночи заменить на таймер что даст каждый игрок 30 сек выбрать оружие из арсенала и целить направление воздуха с помошью мультиборда направление лево и право. надеюсь помог вам =)
|r не убирает а просто означает конец строки которвый вызвалии ранее цвета что вы можете делать цветные название |c[00][00][00][00]Привет|r
1 - это прозрачность
2,3,4 это цвет hex из 2 символов
И под конец цвет завершаем окраску со словом r
Naadir, куда ты дел таймер =) если таймер 0.035 то умножаем его и делим регена =) если разные таймеры то разные регены
INTERVAL_TIME = 0.035
REGEN_HP = 100
(INTERVAL_TIME *REGEN_HP /1)
(0.035*100/1)=3.5 hp
а может не то формула не помню уже
8gabriel8, у меня без приказа а тупо чисто радиус приказа так как у меня чисто арена. Hate, не я решил делать подобие как удаление с данные и уменшить счетчик помогает без повтора
примерно так лучше
static method spawnUnit takes nothing returns unit
local integer r
local unit u = null
if .count > 0 then
set r = GetRandomInt(1, .count) - 1 // 0...1...2
set u = CreateUnit(Player(0), .typeUnits[r], 0, 0, bj_UNIT_FACING)
set .countUnits[r] = .countUnits[r] - 1
if .countUnits[r] == 0 then
set .typeUnits[r] = typeUnits[.count - 1]
set .countUnits[r] = .countUnits[.count - 1]
set .count = .count - 1
endif
endif
return u
endmethod
Вот структура если кому надо берите я не тестил его так как писал на планшете... после сна проверю..
struct xWave
static constant integer MAX_UNIT_ON_MAP = 5
private static integer countSpawn = 0
private static integer countDead = 0
private static integer countAll = 0
private static integer countMap = 0
private static integer array typeUnits
private static integer array countUnits
private static integer array countMaps
private static timer t = CreateTimer()
static method spawnUnit takes nothing returns unit
local integer r
local unit u = null
if .countSpawn > 0 and .countMap < MAX_UNIT_ON_MAP then
set r = GetRandomInt(1, .countSpawn) - 1 // 0...1...2
set u = CreateUnit(Player(0), .typeUnits[r], 0, 0, bj_UNIT_FACING)
set .countUnits[r] = .countUnits[r] - 1
set .countMap = .countMap + 1
if .countUnits[r] == 0 then
set .typeUnits[r] = typeUnits[.countSpawn - 1]
set .countUnits[r] = .countUnits[.countSpawn - 1]
set .countSpawn = .countSpawn - 1
endif
if .countSpawn == 0 then
call end()
endif
endif
return u
endmethod
static method createUnit takes integer t, integer c returns nothing
set .typeUnits[.countSpawn] = t
set .countUnits[.countSpawn] = c
set .countAll = .countAll + c
set .countSpawn = .countSpawn + 1
endmethod
static method update takes nothing returns nothing
local unit u = spawnUnit()
if not(u == null) then
call SetUnitPosition(u, 0, 0)
call SetUnitOwner(u, Player(PLAYER_NEUTRAL_AGGRESSIVE), true)
endif
set u = null
endmethod
static method start takes nothing returns nothing
if .countSpawn == 0 or .countAll == 0 then
debug call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, "[ОШИБКА] Нельзя стартовать волны без войска")
return
endif
call update()
call TimerStart(t, 100/(.countAll*2), true, function thistype.update)
endmethod
static method end takes nothing returns nothing
set .countSpawn = 0
set .countDead = 0
set .countAll = 0
set .countMap = 0
call PauseTimer(t)
endmethod
endstruct
» WarCraft 3 / Как вызвать юнита на время в конкретную точку карты?
как раз являет приоритетный ответ орда герой ловчий (В доте называет раста) змея. заменяем юнит на свой и выбираем его как вызываемый и работаете!
» JackCraft / WarFortress (Mini-Game Contest-2018-WIP)
ведь у блока 64х64 как тайлов если да то это выполнимо
» WarCraft 3 / Триггерно добавляем урон герою
» WarCraft 3 / Как сделать так, чтобы при движении определенный герой терял -2
» WarCraft 3 / каннибализм
» WarCraft 3 / Юнит не сохраняется в структе
» WarCraft 3 / Юнит не сохраняется в структе
» WarCraft 3 / Юнит не сохраняется в структе
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» WarCraft 3 / Способность которая действует по все карте
» Огонёк Феникса / Теория по созданию уровней Warcraft 3
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
» JackCraft / WarFortress (Mini-Game Contest-2018-WIP)
» XGM Конкурсы / Warcraft III Mini-Game Contest-2018
Могу за тебя сделать хД (Шутка)
UrsaBoss, и такой реализация давно сделали как бы в старой форуме поиши =)
Правило не запрешает ли мемхак?
» WarCraft 3 / Спец символы war3
|c[00][00][00][00]Привет|r
1 - это прозрачность
2,3,4 это цвет hex из 2 символов
И под конец цвет завершаем окраску со словом r
» WarCraft 3 / Частота смены показателей здоровья и маны
» WarCraft 3 / Частота смены показателей здоровья и маны
INTERVAL_TIME = 0.035
REGEN_HP = 100
(INTERVAL_TIME *REGEN_HP /1)
(0.035*100/1)=3.5 hp
а может не то формула не помню уже
Ред. pro100master
» WarCraft 3 / Частота смены показателей здоровья и маны
чтоб можно каждый 5 или 10 сек меняли значение регена на свой плавно
» WarCraft 3 / Объединение телепортов в кластеры?
» WarCraft 3 / Можно ли сделать смену модели непися по нанесению заклинания
» WarCraft 3 / Слишком агрессивные крипы
» WarCraft 3 / Нужна модель? - Вам сюда!
Ред. Raised
» WarCraft 3 / Слишком агрессивные крипы
» WarCraft 3 / Как вы реализовываете счетчик разных типов юнитов в арене?
Hate, не я решил делать подобие как удаление с данные и уменшить счетчик помогает без повтора
примерно так лучше