native TriggerRegisterUnitInRange takes trigger whichTrigger, unit whichUnit, real range, boolexpr filter returns event
whichUnit - тот самый юнит. В идеале, его нужно хранить в переменной, чтобы обращаться к нему снова.
Соответственно, ответом на вопрос
а как называть того что мейн?
будет:
Как хочешь))00
Не не так, вот смотри я добавил Событие(выбрать в радиусе от юнита) в триггер, и вот в действиях мне нужно что-то сделать с теми юнитами что в радиусе, и с тем что создает этот радиус.
Как мне к ним обращаться?
ты совсем нуб? Или хочешь меня извести? На jass пишет блин....
Да ты чертовски догадлив, 1 триггер куда мы суем события на каждого созданного даммика, события сидят на юнитах - нет юнита, нет события... (кароче если у вас меньше 10000+событий это неважно), так же это событие требует фильтр, создай фильтр, такой же как я предложил выше, только с проверкой что даммик не сдох...
native TriggerRegisterUnitInRange takes trigger whichTrigger, unit whichUnit, real range, boolexpr filter returns event
TriggerRegisterUnitInRangeSimple
А вот это что такое?
>Simple LainMikoroso:
TriggerRegisterUnitInRange
Что мне с этим терь делать?При инициализации создать триггер и туда добавлять события при каждом создавании юнита?(А можно потом событие удалить потом будет?)
Данный код запишет в группу grp всех юнитов игрока pl с типом 'hdum' , моно использовать другие критерии отбора, вот только как ты будешь узнавать что они рядом?
Проблемно правда?
Мб все таки событие?
Да, событие получге будет
(у меня такого события вообще нет...)
это функция которая соберет в группу всех юнитов игрока, всех что у него сейчас под контролем (исключая дохлых) но включая москитов.
Для каждого игрока придется искать его москитов, потом смотреть где они.
Слушай ты точно осилишь?
Не, было бы прекрасно если бы ты смог вбросить код)))))0
Это событие для триггера, оно вешается на конкретного юнита и срабатывает когда к нему подходят другие юниты, радиус настраиватеся. Вешаешь на даммиков это событие и проверяешь в условии триггера что подошел другой даммик и убиваешь его...
Нет нельзя. Функция не выделяет юнитов с этой способностью, нужно заранее сначала выбрать всех, а потом дать всем "Москиты". Даже события "юнит вызывает боевую единицу" не ловит. Словить можно по событию "юнит входит в регион ... ", но только регион, а не вокруг точки, как вы хотите выше. Пробуйте. как предложил GetLocalPlayer
Мне нужны изначальные москиты, т.к. я беру дамми на старте. А в группу он входит не сразу после появления
эмм не настолько чтобы отказываться от глобалок, да и создание 100500 локалок не есть хорошо.
Темболее не нужно заниматься такой фигней лучше сосредоточится на более важных вещях.
ВО втором вопросе я не использую локалки, я заменяю кол-во глобалок на работу с индексом переменной с помощью арифметических действий
не настолько что бы кто либо заметил, это не рациональный подход к оптимизации. оптимизировать в первую очередь нужно узкие места, и использование глобалок вместо локалок и наоборот вам совершенно не сделает никакой погоды
Локалки же априори выгоднее глобалок, я думаю необходимо засотрять внимание на этом.
"Когда задаешь вопрос, а вместо ответа слышишь вскукареки в виде ускользания на другие темы"
Чота в голосяндру, Я спрашиваю заранее наилучший вариант написания кода, чтобы потом не возвращаться и не переписывать все подобные ошибки.
>в 2017 никто не заценит.
Щас бы в 2017-м не ценить оптимизацию, оч вкусно. Прекращайте вбрасывать подобные вбросы, плез. Отвечайте по факту.
ЕДинственное что мне осталось, это прелоад и вроде как я смогу приступать все делать без дальнейшей перезаписи.
По итогу пришли к тому, что большинство против лишнего объявления локалки, но по процессорному такту это получается невыгодно, т.к. нагружается сильнее. Нужно последнее слово.Также еще один вопрос,
globals
unit array u
endglobals
function
local integer i
loop
exitwhen i == 15
set u[i*3] = ...
set u[i*3 + 1] = ...
set u[i*3 + 2] = ...
call GetUnitState(u[i*3+1)
...
set i = i + 1
endloop
endfunction
Вот так я хочу сделать во всех спеллах, т.е. в таймерах будут подобные циклы, и индекс массивной переменной каждый раз практически будет высчитываться, воот. Рационально ли это?Или лучше изначально создать три глобалки типа юнит и не работать с подобными манипуляциями?
А также эффекты желательно, тоже. Я о том, что прелоадить модель эффекта нужно каждый раз когда запускаешь триггер с этим спеллом, или все же в триггере инициализации карты один раз?
Непонятно что тебе нужно. Само значение характеристики или просто узнать, какая из характеристик является основной.
Мне нужно узнать какая характеристика у героя является основной. GetLocalPlayer:
endfunction не завершает работу функции. Это ключевое слово указывает компилятору на конец блока кода текущей функции.
Работу функции завершает команда return. Используется для принудительного выхода из функции и возврата значения если необходимо.
Вновь не то ты понял. Я знаю что делают обе эти функции, мне нужно знать как лучше выходить из функции, используя return в ее конце, или нет.
Ред. LainMikoroso
» WarCraft 3 / call TriggerRegisterUnitInRange()
Как мне к ним обращаться?
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
quq_CCCP: Или потом просто триггер ремувнуть и новый создать?
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
А вот это что такое?
>Simple
LainMikoroso:
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
(у меня такого события вообще нет...)
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Не берет москитных юнитов в группу
» WarCraft 3 / Вопрос о функциях
Ред. Uber
» WarCraft 3 / Вопрос о функциях
» WarCraft 3 / Удвоение постепенного движения (нужна небольшая помощь кодера)
» WarCraft 3 / Вопрос о функциях
Чота в голосяндру, Я спрашиваю заранее наилучший вариант написания кода, чтобы потом не возвращаться и не переписывать все подобные ошибки.
>в 2017 никто не заценит.
Щас бы в 2017-м не ценить оптимизацию, оч вкусно. Прекращайте вбрасывать подобные вбросы, плез. Отвечайте по факту.
ЕДинственное что мне осталось, это прелоад и вроде как я смогу приступать все делать без дальнейшей перезаписи.
Ред. Raised
» WarCraft 3 / Вопрос о функциях
» WarCraft 3 / Как правильно инициализировать способности и юнитов в массиве?
» WarCraft 3 / Удвоение постепенного движения (нужна небольшая помощь кодера)
» WarCraft 3 / Вопросы по функциям
GetLocalPlayer:
» WarCraft 3 / Об утечках