function GetUnitsOfPlayerMatching takes player whichPlayer, boolexpr filter returns group
local group g = CreateGroup()
call GroupEnumUnitsOfPlayer(g, whichPlayer, filter)
call DestroyBoolExpr(filter)
return g
endfunction
да, эта бж-функция выбора всех юнитов игрока утекает из-за необнуленной переменной, даже если удаляется сама группа
говорил себе не юзать бж-функции не глянув что там внутри
сделай переменную таймер
во втором триггере событие что таймер истекает и действие остановить музыку
в первом триггере вместо ожидания и остановки музыки, сделай запуск таймера на нужное время, например 6 сек.
Bismarc_Dark, не, это от утечки отряда, т.к. функция "Pick every unit..." создает группу, но если прописать ту строку то группа удаляется после всех этих действий.
Утечки есть от всех объектов вроде юнитов, точек, отрядов, групп игроков (кроме заранее созданных вроде All Players), но от музыки не должно быть.
local unit u // в начале триггера, до других действий
//...
set u = CreateUnitAtLoc(p,'h013', TargetLoc, 0)
call UnitApplyTimedLife(u,'BTLF',2.00)
//...
set u = null // это в конце триггера
8gabriel8, PolledWait это бж функция внутри которой жуть что делается
спс жнгп за Function list
function PolledWait takes real duration returns nothing
local timer t
local real timeRemaining
if (duration > 0) then
set t = CreateTimer()
call TimerStart(t, duration, false, null)
loop
set timeRemaining = TimerGetRemaining(t)
exitwhen timeRemaining <= 0
// If we have a bit of time left, skip past 10% of the remaining
// duration instead of checking every interval, to minimize the
// polling on long waits.
if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
call TriggerSleepAction(0.1 * timeRemaining)
else
call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
endif
endloop
call DestroyTimer(t)
endif
endfunction
Совсем без джасса, т.е. без локальных переменных?
Ну можно хранить героев и время до воскрешения в массивах, пробегаться по ним циклом по таймеру, и когда время достигает 0 воскрешать героя.
триггер1 - герой умер - установить время до реса №индекс_игрока на столько-то сек.
триггер2 - каждые 0,3 сек - цикл А от 1 до сколько там игроков - если герой №А мертв, то отнять 0,3 от времени №А; если время меньше либо равно 0, воскресить героя №А
нельзя просто так по-русски сказать компьютеру что делать
нет никакого "владельца предмета боевые когти".
есть 16 "игроков", им принадлежат всякие юниты, у которых могут быть предметы.
надо каждого из них проверять, есть у них когти, или нет.
ужасные заклинания на латыни
события создаются при запуске карты, и на определенных юнитов/игроков которые в них указываются, и которые должны быть в этот момент.
переменные вроде "герой манипулирующий предметом" свои для каждого события. на события связанные с игроками вроде ввода в чат или нажатия эскейпа есть только Triggering player - игрок вызвавший событие.
в событиях надо наплодить для каждого игрока по событию: игрок такой-то вводит то-то
в условии нужно проверять что у героя есть предмет, но для этого этот герой должен храниться в какой-то переменной, куда его надо занести до этого.
либо вместо условия сделать в действиях перебор всех юнитов игрока, и если у выбранного юнита есть когти, то играть музыку.
в события где указывается конкретный игрок надо вставлять конкретного игрока, например красного. и потом копировать-вставлять меняя на синего, зеленого т.д. Оно будет срабатывать только для указанных конкретных игроков.
"герой манипулирует предметом" это переменная в которой что-то будет только если триггер сработал на событие вроде "юнит использует предмет", "юнит выкинул предмет".
на события вроде чата в этой переменной ничего не будет.
Хз я делал без мемхака
создавал триггер отлавливающий приказы и отдающий вместо них приказ убегать с сохранением координат куда убегать (которые при этом менялись каждую секунду чтобы бег был в панике)
только нужно еще чтобы триггер не зацикливал себя
только та арена вроде запротекчена
Новые анимации для всех героев: при попаданиях от Low атак, шаге назад/в сторону, и когда их бросает противник
Несколько новых приемов для Келя, Панды и Паладина
Некоторые приемы теперь наносят доп. wallsplat урон, если противник ударяется об стену при отбросе, даже если сам удар был заблокирован: плечо фелгарда/крестьянина, удар посохом джайны и еще несколько
Поменял имя карты, переставил героев при выборе, и обновил лоадскрин
» WarCraft 3 / Fighting for Azeroth: 3D
У всех теперь есть хотя бы 16 приемов, ярость, бросок, атака с воздуха.
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
во втором триггере событие что таймер истекает и действие остановить музыку
в первом триггере вместо ожидания и остановки музыки, сделай запуск таймера на нужное время, например 6 сек.
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
1, выключить триггер2
2, запустить музыку
3, ждать
4, выключить музыку
5, включить триггер2
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
а вобще мы начинали без всяких русификаторов и без знания английского и ничего, выучились
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
она там для того чтобы не запускать музыку сто раз если у игрока несколько героев с когтями
Ред. biridius
» WarCraft 3 / врянты записи
Ред. biridius
» WarCraft 3 / Воскрешение в мультиплеере
» WarCraft 3 / Воскрешение в мультиплеере
Ред. biridius
» WarCraft 3 / Воскрешение в мультиплеере
Ну можно хранить героев и время до воскрешения в массивах, пробегаться по ним циклом по таймеру, и когда время достигает 0 воскрешать героя.
триггер2 - каждые 0,3 сек - цикл А от 1 до сколько там игроков - если герой №А мертв, то отнять 0,3 от времени №А; если время меньше либо равно 0, воскресить героя №А
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
нет никакого "владельца предмета боевые когти".
есть 16 "игроков", им принадлежат всякие юниты, у которых могут быть предметы.
надо каждого из них проверять, есть у них когти, или нет.
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
либо вместо условия сделать в действиях перебор всех юнитов игрока, и если у выбранного юнита есть когти, то играть музыку.
Ред. biridius
» WarCraft 3 / Владец предмета пишет сообщение в чат - Триггеры
на события вроде чата в этой переменной ничего не будет.
» WarCraft 3 / Эффект страха
создавал триггер отлавливающий приказы и отдающий вместо них приказ убегать с сохранением координат куда убегать (которые при этом менялись каждую секунду чтобы бег был в панике)
только нужно еще чтобы триггер не зацикливал себя
только та арена вроде запротекчена
Ред. biridius
» WarCraft 3 / Как узнать кол-во единиц атаки у юнита?
Ред. biridius
» WarCraft 3 / Fighting for Azeroth: 3D
» WarCraft 3 / Нужна модель? - Вам сюда!
Ред. biridius
» WarCraft 3 / JASS - Дамми-юнит не исчезает
Ред. biridius
» WarCraft 3 / Fighting for Azeroth: 3D
Ред. biridius
» WarCraft 3 / Как удалить способность?
» WarCraft 3 / Как удалить способность?
еще забыл после добавления абилки занести unit = Target unit of ability being cast
» WarCraft 3 / Fighting for Azeroth: 3D
Ред. biridius
» WarCraft 3 / Как удалить способность?
прикрепить файлы > потом "вставить ссылку на файл"