32

» WarCraft 3 / Некорректное увеличение здоровья зданию

Принятый ответ
Простите, насколько я помню у абилок на хп не работают уровни, тупо ничего не происходит.
Там 2 уровня и баг с удалением абилки, у юнита будет хп обратное тому что во втором уровне способности, иначе это не работает...
32

» WarCraft 3 / ExecuteFunc десинк?

Принятый ответ
Там не локальный экзикут, там локальная строка...
Т.е имя функции разное, а экзикуты по расписанию у всех. там либо DoNothing либо смена\чтение имени нейтрального игрока, можно так же баловатся с кешем...
32

» WarCraft 3 / Не отображаются эффекты.

Быть может эффект битый, нераз попадался на хайве, вроде все норм, скрины из игры, отзывы, а модель не открывается даже в Ро, никакую, зеленый клетчатый квадрат.
32

» WarCraft 3 / какое количество таймеров поддерживает вар?

Мда, кол-во хендлов теоретически не ограниченно, зависит от мощности машины на котором идет игра + особенности движка которые в полной мере знают только близзарды.
50 таймером конечно много но далеко не предел.
32

» WarCraft 3 / Моб арена

hift+Enter позволяет ставить больше 1800.
Чепуху не пиши, нельзя поставить больше 1800 ед. обзора, да и вовсе нельзя поставить столько сколько хочешь, у юнита обзор не реальный а приближенный, как порча разлазится квадратами, так и обзор, тока квадратами по 64, 0-64 нет обзора, 64-128 будет 128 на 128 квадрат и так далее..
Нужно делать ИИ. ибо добавить героям пламя феникса с радиусом поболье, все анимации удалить, урон в 0.01 и допустимые цели враги \нейтралы, пламя феникса будет жечь монстров и те будут агрится.
32

» WarCraft 3 / почему дота не лагает?

Еще как лагает, багается, вспомни сфа и вокера, после часика игры бывает тоже не все гладко.
Самое основное у фрога исправили, (как это вовсе хохма) к примеру фрог оч. часто не удаляет даммиков, а вы не знали?
Каждый раз когда вы тыкайте у инвокера скилл, пересчитываются все бонусы инвокера, там если кликер сделать (кое кто уже делал) гейм овер в вашу пользу обеспечен, на ракапе все узьбеки вылетят, тока тсс...
32

» WarCraft 3 / вопрос о dammy

Принятый ответ
Как как, через таймер двигать функциями:
SetUnitX()
SetUnitY()
SetUnitFlyingHegth()
для полетов дамми должен быть летающим.
32

» WarCraft 3 / Отследить приказ

Принятый ответ
Событие такое есть, в гуях Особый юнит обнаружил цель в пределах досягаемости.
в jass это EVENT_UNIT_TARGET_IN_RANGE на конкретного юнита.
32

» WarCraft 3 / Можно Ли Спелу сделать перезарядку до ево применение

Чаво? Моя ваш русский не понимать!
P.S Сбросить перезарядку у способности можно либо удалив её и снова добавив (если только одну) или спец функцией UnitResetColdownAbilites( unit ) - которая сбросит перезарядку у всех способностей указанного юнита.
32

» WarCraft 3 / TriggerAddCondition создает хэндл или нет?

И кстати да, чуть не забыл Использовать Boolexpr как IceFrog не нужно, ничего хорошего в этом нет.
для тех кто в танке ниже пример кода айсфрога
код

function A takes nothing returns boolean
	return IsUnitDead( GetFilterUnit() ) == false and IsUnitType( GetFilterUnit(), UNIT_TYPE_ANCIENT )) == false and IsUnitEnemy( GetFilterUnit(), bj_groupEnumOwningPlayer()
endfunction

function B takes nothing returns boolean
	return IsUnitDead( GetFilterUnit() ) == false and IsUnitType( GetFilterUnit(), UNIT_TYPE_ANCIENT )) == false and IsUnitEnemy( GetFilterUnit(), bj_groupEnumOwningPlayer()
endfunction

function C takes nothing returns boolean
	return IsUnitDead( GetFilterUnit() ) == false and IsUnitType( GetFilterUnit(), UNIT_TYPE_ANCIENT )) == false and IsUnitEnemy( GetFilterUnit(), bj_groupEnumOwningPlayer()
endfunction
// ...
// потом где то в коде спеллов
// 
call GroupEnumUnitsInRange( grp, x,y, 450.00, Condition( function A ) )
...
call GroupEnumUnitsInRange( grp, x,y, 450.00, Condition( function B ) )
...
call GroupEnumUnitsInRange( grp, x,y, 450.00, Condition( function C ) )
32

» WarCraft 3 / TriggerAddCondition создает хэндл или нет?

Кет:
quq_CCCP, а как удалить triggercondition и triggeraction? Они не удаляются при уничтожении триггера?
Нет не удаляются, есть TriggerRemoveCondition\Action и TriggerClearConditions\Actions
Ивенты триггера тоже никуда не деются, пока есть связанный с ними обьект.
        method FlushData takes nothing returns nothing
            call DisableTrigger( .trg )
            call TriggerRemoveCondition( .trg, .trc )
            call TriggerRemoveAction( .trg, .tra )
            call TriggerRemoveAction( .trg, .extra )
            call TriggerClearActions( .trg )
            call TriggerClearConditions( .trg )
            call RemoveDataBX( .trg )
            call RemoveDataBX( .trix )
            call DestroyTrigger( .trg )
            call DestroyTimer( .trix )
// и так далее...
32

» WarCraft 3 / Оптимизация: один большой или много мелких?

nvc123:
1 триггер лучше чем 2
размер триггера в данном случае значения не имеет
исключения касаются лишь утечек и прочий фигни
Ну или 10005000 триггеров примерно одного содержания, по большей части потому что создается куча обьектов и карта загружается медленне, актуально для гуи в первую очередь.
32

» WarCraft 3 / TriggerAddCondition создает хэндл или нет?

Принятый ответ
Zeuz:
nvc123, тогда получается boolexpr не утечна?
его можно создать где угодно)
и использовать как фрог
Лол, обьясняю еще раз
  • Condition( function SomeFunc ) и Filter( function SomeFunc ) возвращают Boolexpr, он кешируется, и не утекает
Но в триггере еще есть TriggerAddCondition( trigger, boolexpr ) который возвращает triggercondition - который какраз и утекает, это хендл который висит в памяти и требует удаления... туда же triggeraction .
Поэтому там где используются локальные триггеры которые будут удалены нужно удалять и triggeraction и triggercondition а для этого их нужно куда то сохранить, много городушек и лишних действий, посему там где можно не юзать триггеры лучше их не юзать.
32

» WarCraft 3 / Оптимизация: один большой или много мелких?

Принятый ответ
Есть, триггер для триггерных скиллов 1, 3 ивента, кастанул, завершил каст, выучил - все, далее условие что абилка в базе данных и собственно действие екзикут функции взятой из базы данных.
32

» WarCraft 3 / TriggerAddCondition создает хэндл или нет?

Период 0.5 - и счетчик, если кол-во циклов таймера больше 8 то удалить там спеллбук, запаузить таймер и удалить. И точно так же проверяешь хп кастера раз в 0.5 сек, вот и ненужно триггера.
32

» WarCraft 3 / TriggerAddCondition создает хэндл или нет?

Сам TriggerCondition и TriggerAction хендлы, их надо бы удалять, есть специальные функции для этого.
Таймером можно проверять хп кастера, если хп менье 0.405 то кастер сдох...
Триггеры на манеру Ледяной Лягухи не лучшее решение....
32

» WarCraft 3 / Заставить скачать файл .mix при загрузке карты.

Принятый ответ
Кикать из игры с сообщением что требуется Файл такой то с сайта такого то...
Ну иначе никак...
32

» WarCraft 3 / Баг в Worldeditor'e

Принятый ответ
Это древняя бага ВЕ, много кто такое видел...
Ни будет робить, нужна основа где ипользуется это поле, в данном случае будут работать только поля от трансмутации ну и мб еще какое то, если близзы сделали еще какой то эффект у этой способности а потом убрали на уровне РО.
Прочие поля даже если будут записны в файл, будут тупо мусором, движек не смотрит на поля, движек смотрит на ID, от чего наследуются и какие свойста, а после работает с ними.
32

» WarCraft 3 / Триггерный спелл не хочет работать

НУ во первых нужно это как то без вейтов и массивов, с такой реализацией не удивительно что не работает.
Во вторых - это делается без баффов, если вы планируйте маг имун, добовляйте юниту просто спеллбук с пассивным маг имунном и скиллом на доп. защиту.
Попробуйте почитать про хештаблицы и таймеры.
32

» WarCraft 3 / Как отследить момент когда юнит приносит золото?

Событие кол-во золота увеличилось, проверяем на сколько, если допустим на 8 то ура, раб притащил мешок золота...
32

» WarCraft 3 / Захват созданных иллюзий в переменные

Melissa:

Триггерно иллюзию ведь не создать (для Last created unit)
дать руну со способностью жезла иллюзий ему
Нафига? Дамми кастера который будет кастовать посох иллюзий в юнита, а в переменную занести изи, достаточно создать за ранее 1 триггер и темповую глобалку, событие что дамми создал юнита, действие занести вызваного юнита в переменную и все, потом в том потоке где отдали приказ каста даммику делаем с глоблкой что нужно, меняем владельца, отдаем приказы и прочее...
32

» WarCraft 3 / Взрыв мины - спецэффект

Ну нужно в настройках способности - Урон от взрыва (граффика - эффект) указать путь к желаемой модели спецэффекта, и будет тебе счастье.
32

» WarCraft 3 / Захват созданных иллюзий в переменные

Почему это нет, Event_Unit_Summon и Summoned unit (событие именно конкретный юнит вызвал), так же EventUnitInRect (входит в область) и условие IsUnitIllusion И проверяем на бафф от жезла иллюзий у иллюзии (GetUnitAbilityLevel( u, 'B000') > 0)