PT153 #1 - 6 часов назад 0

» WarCraft 3 / Новые нативные функции в 1.29

pro100master:
но если надо то поставить GetEventDamage(-100.00) даст лечение хп здоровья чистый с учетом регеном.
GetEventDamage(100.00) снимает 100 здоровья с юнита чистый даже учитивает регенерация
Тут наверное имеется в виду SetEventDamage()?
pro100master:
то есть юит получает урон
получает сколько нанес урон через GetEventDamage c учетом брони
То есть по умолчанию в GetEventDamage() записан урон с вычитом брони?
PT153 #2 - 7 часов назад 0

» WarCraft 3 / Новые нативные функции в 1.29

Объясните ещё раз, что делает SetEventDamage(), пожалуйста.
PT153 #3 - 7 часов назад (отредактировано ) 0

» WarCraft 3 / Новые нативные функции в 1.29

pro100master:
Clamp, угу и русский не показывает...
Потому что поддержку кириллицы так и не завезли.
Ну и на сайте написано:
PTR only supports English version of the client.
PT153 #4 - 11 часов назад 0

» WarCraft 3 / Патч 1.29 PTR

ScorpioT1000:
ClotPh, game.dll
но по сути там всё перекроили, Frozen Throne.exe устранено, теперь 1 лаунчер.
Один лаунчер в 1.28 был.
PT153 #5 - 1 неделю назад 2

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Вспомнил про один баг. Есть сделать PauseTimer() на периодический таймер, а потом на этой таймер использовать ResumeTimer(), то таймер повторит свой цикл лишь раз, а потом остановится.
PT153 #6 - 2 недели назад 0
PT153 #7 - 2 недели назад (отредактировано ) 0

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

И вот, что хотелось бы исправить в способностях:
Добавлю ещё способность Death Coil, у которой не меняется эффект, накладываемый на цель.
То есть его изменяешь или убираешь, но он всё равно остаётся. Лечится заменой модельки на пустышку.
PT153 #8 - 3 недели назад 0

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Clamp:
но можно расширить на сколько угодно.
Ценой падения производительности в целом, ЕМНИП.
С чего бы? Просто создаются ещё массивы, а при передаче нужный массив выбирается в If-е. Не такое уж и падение.
PT153 #9 - 3 недели назад (отредактировано ) 4

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

Будет очень интересно глянуть, как они реализуют структуры. В своей карте я их использую очень активно, так как знаю о них всё, и во всех триггерах сразу делаю переход от нативных объектов к структурам. Надеюсь, они добавят способ привязывания структур к нативным объектам.
Нативные структы - очень гуд, потому что строились они изначально на хаках и параллельных массивах и были лимиты и т.д.
Любой данный лимит можно всегда расширить. Базово не более 8190 (на самом деле 8191) элементов у структуры, и этого хватает обычно, но можно расширить на сколько угодно.
Рендер проверю.

Работают вот эти функции:

native SetImageRenderAlways takes image whichImage, boolean flag returns nothing
native SetUbersplatRenderAlways takes ubersplat whichSplat, boolean flag returns nothing

А эти нет:

native SetImageRender takes image whichImage, boolean flag returns nothing
native SetUbersplatRender takes ubersplat whichSplat, boolean flag returns nothing
Уже просили передачу параметров в функции, что вызываются в ForGroup, ForForce и TimerStart?
PT153 #10 - 3 недели назад 0

» WarCraft 3 / Blizzard готовят Producer Update для Warcraft 3

GF RaiseD:
Пишите сюда ваши идеи. Если это что-нибудь новое - закину на хайв. Или на хайв пишите. А то как лохи.
Аккаунта на хайве пока нет, напишу сюда.
Не заметил в багфиксах этой функции.
native SetImageRender takes image whichImage, boolean flag returns nothing
Она не работает.
Ну и функцию GetUnitZ хотелось бы.
PT153 #11 - 1 месяц назад 0

» WarCraft 3 / Игровые Константы

  1. Показ состояния зданий - у юнитов в панели информации есть строка Status, где отображаются все текущие баффы. Этот параметр отвечает за показ этой строки у зданий.
  2. Радиус разведки тумана - юнит игрока умирает (был атакован), то вокруг умирающего (атакующего) даётся обзор указанного радиуса на некоторое время.
  3. Столкновение: максимальный радиус - максимальный возможный радиус хитбокса юнита.
  4. Уведомление о атаке - очевидно, что это про сигнал атаки. Минимальный интервал и минимальное расстояние (от текущего положения камеры?), чтобы сигнал звучал.
Остальные неизвестны.
PT153 #12 - 1 месяц назад 0

» WarCraft 3 / Аттачменты у способностей

DracoL1ch:
Уверен, что это фича кэля. Не используй на его модели подобное и будет норм, думаю
Я давал Mountain King, менял точки прикрепления, сам эффект, кулдаун, длительность - пропадает.
PT153 #13 - 1 месяц назад 0

» WarCraft 3 / Аттачменты у способностей

DracoL1ch:
Нет, с чего бы?
Хм, просто Кель имеет эту способность и при атаке использует именно ту анимацию (камни ещё при этом пропадают). Или я чего-то не понимаю?
Эффект пропадает при атаке, и появляется через некоторое время. Изменение полей "Duration" и "Cooldown" не помогло.
PT153 #14 - 1 месяц назад 0

» WarCraft 3 / Почему нельзя создать больше TriggerAddCondition для 1 триггера?

Используйте не Filter(), а Condition(). С последним точно работает.
PT153 #15 - 1 месяц назад 0

» WarCraft 3 / Аттачменты у способностей

Укрепленные логова 'Arbr' - пустышка с невидимой иконкой, которая есть у логова и сторожевых вышек. Открывается при завершении исследования. Скорее всего больше создана для эффектов. У этих строении пояляются стальное укрепление. Короче железки с четырех сторон.
Шипы 'Aspi' - пустышка с невидимой иконкой, которая есть у всех орочьих строении. Открывается при завершении исследования. Скорее всего больше создана для эффектов. У этих строении появляются шипы.
Надо написать сборник такой по всем абилкам.
У этих способностей нет требований, но эффект появляются только в результате улучшений, что меня настораживает.
JaBeN_Симфер:
Если нет необходимости в таких уникальных механиках работы абилки с аттачами, как Сфера Келя, то стоит задуматься об отказе от абилок и переходе на триггерную систему аттачей, тем более, если абилок очень много.
Мне проще создать абилку, так как:
  • её эффект сразу удалится, как только юнит умрёт;
  • не нужно проверять, есть ли уже такой эффект у юнита.
DracoL1ch:
Можно добавить, что Asph - лучший вариант, самый легкий с точки зрения движка. Остальные так или иначе являбются абилками и подтягиваются лишний раз при определенных действиях. Asph считается чисто визуальной абилкой и не генерирует лишних операций
А если у юнита атака, то модель снаряда будет браться из Asph?
PT153 #16 - 1 месяц назад 0

» WarCraft 3 / Триггер

bOrissko:
Берешь заклинание на аое урон от руки, например Сокрушение и настраиваешь анимацию как у волны силы.
Pulverise бьёт вокруг юнита же, а Cleave только у мили работает.
PT153 #17 - 1 месяц назад 0

» WarCraft 3 / Перевод в BLP

Какие настройки сохранения?
Качество можно поставить 100%
Также кликни на "Альфа-канал", там его настройки.
прикреплены файлы
PT153 #18 - 1 месяц назад 0

» WarCraft 3 / Аттачменты у способностей

biridius:
Есть способности вроде "захват знамени".
AIfn, AIfe, AIfo, AIfm, AIfl
Они в "Особые-предметы- предмет - захват знамени (...)"
Я как-то пытался их использовать, эффекта не было.
PT153 #19 - 1 месяц назад (отредактировано ) 0

» WarCraft 3 / Аттачменты у способностей

Нашёл Arbr и Atol, но мне кажется, что они завязаны на улучшениях.
PT153 #20 - 1 месяц назад 2

» WarCraft 3 / Баффы, основанные на одной способности

Несколько баффов могут быть от Aasl (Slow Aura) и ANrf (Rain of Fire) и похожих (Blizzard, например).
PT153 #21 - 2 месяца назад 0
PT153 #22 - 2 месяца назад (отредактировано ) 0

» WarCraft 3 / Опять они

И ещё вопрос не по теме, как вы выделяете голубым текст взятый из других сообщений?
Почитайте про форматирование, ссылка на окошке с комментарием. А так это цитата, выделяете нужный текст и слева от окошка под аватаркой нажимаете.
можно разделить группу
Я не предлагал разделить группу, я предложил сделать всё тоже самое, но без утечек.
CreateGroup()
Вроде в JNPG есть такая функция при включённом UMSWE.
PT153 #23 - 2 месяца назад (отредактировано ) 0

» WarCraft 3 / Залп снарядов

Если совсем новичок
Я совсем не новичок)
Патиссончик:
Можно создавать дамми, заставляя его атаковать юнит-цель.
Скорее всего я буду делать спеллом, так как мне всего-то нужен снаряд и незначительный урон (0.01).
Патиссончик:
Стандартной готовой такой способности такой нет. Они все либо по области, либо в рандомного фигачат.
А жаль. :(
Ладно, спасибо.
PT153 #24 - 2 месяца назад 0

» WarCraft 3 / Залп снарядов

molot39:
А в чём вопрос то?
Про существование способности.
Alexey103:
Из того что приходит в голову только триггерная атака. Ну тоесть если подумать какой толк от залпа вместо одного снаряда если урон от этого только меньше. Если например у противника уменьшение урона от каменной брони.
У меня своя система брони и атаки, просто мне нужна способность, которая выпускает в цель снаряды (то есть несколько снарядов в течение некоторого времени).
Я могу и триггерно это сделать, но вдруг есть такая способность.
PT153 #25 - 2 месяца назад (отредактировано ) 0

» WarCraft 3 / Опять они

Alexey103:
PT153, Есть идеи как заменить эту функцию? Ну или строка кастом скрипта. Заодно я узнаю как это делается на джассе.
Заменить g на bj_lastCreatedGroup или любую другую глобальную переменную. Но нужно написать свои функции для общих случаев.
А так можно прямо в самом триггере.
	set nospawn = CreateGroup()
	call GroupEnumUnitsInRangeOfLoc(nospawn, spawn, 500., null)
	...
PT153 #26 - 2 месяца назад (отредактировано ) 0

» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?

Alexey103:
Мне нужно это не для одного юнита. А для юнитов в области. И я проверил утечки были от того что добавлялись события.
Юнит входит в область Вся карта только 1 раз за игру, то есть событие Юнит получает урон добавляется только 1 раз. А в триггере, куда добавляется событие, есть условие (какое Вам нужно), при котором триггер будет срабатывать, как я и написал.
Триггер Init.
События - Юнит входит в Вся карта.
Условия - Тип юнита равно Манекен.
Действия - Добавить событие в триггер Maneken Боевая единица Вошедший юнит получает урон.
Триггер Maneken.
События - ИХ НЕТ.
Условия - Атакованный юнит находится в области (какая нужна).
Действия - Создать плавающий текст над Атакованный юнит (и прочее).
Всегда так делал, всё работало, и никаких утечек нет.
PT153 #27 - 2 месяца назад (отредактировано ) 4

» WarCraft 3 / Опять они

А Вы её никак не уберёте из-за этого:
function GetUnitsInRangeOfLocMatching takes real radius, location whichLocation, boolexpr filter returns group
    local group g = CreateGroup()
    call GroupEnumUnitsInRangeOfLoc(g, whichLocation, radius, filter)
    call DestroyBoolExpr(filter)
    return g
endfunction
Это функция, которая используется Вашим действием. Тут всё время будет утекать переменная g, так как она не обнуляется.
Не используйте группы, нахватаесть утечек от них и от локаций, которые используются во многих BJ функциях.
PT153 #28 - 2 месяца назад 0

» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?

Alexey103:
Hate, Невероятно, всё работает. Только не входящий в карту юнит а входящий в особую область. Просто гениально, и ещё раз просто.
А чем моё решение не устраивает? И в группу добавлять не надо.
PT153 #29 - 2 месяца назад 0

» WarCraft 3 / Опять они

О какой утечке речь?
PT153 #30 - 2 месяца назад (отредактировано ) 0

» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?

Alexey103:
PT153, Вау, а я не знал. Этот вопрос был создан как раз для того чтоб найти способ избежать утечек из-за добавления события, а не для того чтоб вы писали очевидные вещи. Но пока, альтернативы ни на гуи ни на джасс никто не предоставил.
С чего Вы взяли, что создаётся утечка от добавления события? Об этом много статей, и, насколько мне известно, как только юнит умирает, все события, связанные с ним, удаляются.
Тем более Вам нужно это для всего 1 юнита! О какой утечке вообще речь?
Я указал на ошибку, из-за которой добавляется много одинаковых событий (а следом баги и лаги):
То, что делаете Вы, будет работать ужасно, так как событие будет добавляться каждый раз, когда юнит атакован, и триггер по созданию текста будет срабатывать столько раз, сколько событий.
Hate:
дык заноси их в группу, если юнит уже в группе то не добавляешь событие
Зачем, когда можно сделать так, как я? Юнит только 1 раз входит в область Вся карта. Также можно проверять с помощью CustomData.
PT153 #31 - 2 месяца назад (отредактировано ) 2

» WarCraft 3 / Add event DamageTaken создаёт утечку, как исправить?

Мда.
Триггер Init.
События - Юнит входит в Вся карта.
Условия - Тип юнита равно Манекен.
Действия - Добавить событие в триггер Maneken Боевая единица Вошедший юнит получает урон.
Триггер Maneken.
События - ИХ НЕТ.
Условия - Атакованный юнит находится в области (какая нужна).
Действия - Создать плавающий текст над Атакованный юнит (и прочее).
То, что делаете Вы, будет работать ужасно, так как событие будет добавляться каждый раз, когда юнит атакован, и триггер по созданию текста будет срабатывать столько раз, сколько событий.
Всё это можно сделать на ГУИ.
PT153 #32 - 2 месяца назад (отредактировано ) 0

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

Или же функцией UnitDropItemSlot. До этого у юнита должен быть предмет.
PT153 #33 - 3 месяца назад (отредактировано ) 0

» WarCraft 3 / потеряны аргументы: missing define arguments

Читал это?
hook 'nativefunc' 'func'
hook нужен для выполнения некоторых действий, когда вызывается нативка. При этом аргументы функции func должны совпадать с аргументами nativefunc.
P. S.: не делайте так:
function onRemoval takes unit u returns nothing
	call RemoveUnit(u)
endfunction

hook RemoveUnit onRemoval
PT153 #34 - 3 месяца назад (отредактировано ) 0

» WarCraft 3 / Покупка в спелбуках

quq_CCCP:
Верно, юнитов никак в спеллбук не засунуть. У поставки ресурсов можно поставить стоймость золотом и деревом.
Это какой-то баганый спелл, он вроде не отключается у игрока.
А предметы? В некоторых картах что-то такое видел.
PT153 #35 - 3 месяца назад 0

» WarCraft 3 / Создание image

Maniac_91:
Края должны быть прозрачными (вроде бы даже в подсказке к этому действию пишется).
Хм, интересно. Но при этом размер всё равно должен быть 2^n x 2^m?
PT153 #36 - 3 месяца назад (отредактировано ) 0

» WarCraft 3 / Создание image

FrigatPlay:
PT153, а из какого формата ты конвертировал в blp?
Из tga, естественно.
прикреплены файлы
PT153 #37 - 3 месяца назад 0

» WarCraft 3 / Создание image

FrigatPlay:
Если ты сохранил карту в JPG то этот формат не потдерживает прозрачность и при перегонке прозрачности нет сохраняй картинку в PNG.
Картинка в blp, в jpg сконвертировал, чтобы сюда залить.
PT153 #38 - 3 месяца назад 0

» WarCraft 3 / Покупка в спелбуках

quq_CCCP:
Только юзать способность поставка ресурсов, больше никак.
То есть создавать спелы и сувать в бук придётся?
PT153 #39 - 3 месяца назад 2

» WarCraft 3 / Иниц. глоб. переменных

hashtable hash = InitHashtable( )
По-моему, когда я пытался так написать, меня крашился вар. Тоже самое с CreateRegion().
PT153 #40 - 3 месяца назад 0

» WarCraft 3 / DestroyGroup()

А зачем вообще удалять триггеры?
PT153 #41 - 3 месяца назад 0

» WarCraft 3 / GetTimerUserData

quq_CCCP:
PT153, я тебе кинул такую функцию для таймеров. предеаешь инт в таймер, там будет просто локалка со значением, читай.
Это я понял, спасибо. я не очень хочу использовать мемхак как и любые другие баги вара.
PT153:
SetUserData быстрее доступа в хеш?
Хотелось бы это узнать.
PT153 #42 - 3 месяца назад 0

» WarCraft 3 / GetTimerUserData

quq_CCCP:
PT153, одно обращение к хт = 2 обращения к массиву.
Структуры помогают только когда ты записываешь в хт индекс структуры, по которому и ищеш данные в массивах.
Для переодик таймера я уже кинул пример как еще можно, там вовсе локалки.
widget можно дать кастомное число, и туда я записываю номер структуры. SetUserData быстрее доступа в хеш? Просто я хотел лишь иметь такую же функцию у таймеров.
PT153 #43 - 3 месяца назад (отредактировано ) 0

» WarCraft 3 / GetTimerUserData

DracoL1ch:
спойлер - хештаблицы медленнее в сравнении с доступом по массиву. как только ты дописываешь еще пару строк к массиву (т.к. тебе надо вычислить ключ), внезапно хт становится быстрее. так что не мудри
нет ничего быстрее нативок. а каждая строка JASS-кода существенно замедляет работу. Экономия на спичках
Ага, то есть
integer array DATA
...
local integer a = DATA[GetHandleId(timer)]
медленнее чем
hashtable DATA
...
local integer a = LoadInteger(DATA, GetHandleId(timer), 0)
Верно?
Я думаю, что нет, но суть понял, спасибо.
PT153 #44 - 3 месяца назад (отредактировано ) 0

» WarCraft 3 / как сделать из обычного юнита героя

Можно дать ему равкод с прописной буквы. В игре будет отображаться как герой (иконкой и прочим), а в редакторе как юнит.
Последствия мне неизвестны.
PT153 #45 - 3 месяца назад 0

» WarCraft 3 / Строение структур

Нука попробуй добавить в action функцию с аргументами!
Ну это ясно, парсер не пустит.
PT153 #46 - 3 месяца назад 0

» WarCraft 3 / Строение структур

quq_CCCP:
Триггеры принимают болекспры - для этого Condition, не соответствие типов при возврате == фатал.
Я убирал Condition, и ничего не вылетало.
А зачем тогда добавлять действия, если они никогда не вызываются?
Меня больше мучает этот вопрос.
PT153 #47 - 3 месяца назад (отредактировано ) 0

» WarCraft 3 / Строение структур

quq_CCCP:
TriggerEvalute наследует поток из которого запущен
Я вот так тоже думал, хотел убедиться в этом. А зачем тогда добавлять действия, если они никогда не вызываются?
И это нормально, что TriggerAddAction берёт функцию, которая что-то возвращает?
Ещё вот что интересно. В TriggerAddCondition() можно просто передавать функцию (то есть без Condition), причём даже функцию, которая возвращает что-то отличное от boolean (вроде). Но тут всё же используется функция Condition(). Зачем?
PT153 #48 - 4 месяца назад (отредактировано ) 0

» WarCraft 3 / Юниты пропали из меню "Технологии"

Покрутите графу "Тип". Если не поможет, то перезапустите редактор. Если и это не поможет, то уберите галку "Нестандартные технологии" и используйте триггеры.
PT153 #49 - 4 месяца назад 0

» WarCraft 3 / Иконки способностей для предметов

bifurcated:
Создай на основе предметной способности Аура Смерти или любой другой, у которой показывается иконка, поставь в неё все данные другого предмета, убрав лишнее, и войну дай ту и ту способность и будет тебе иконка.
Зачем юзать ауры, когда можно взять готовые болванки, типа Asth или Agyb.
PT153 #50 - 4 месяца назад 0

» WarCraft 3 / Как сделать свиток телепорта из доты?

Darknessay:
Clamp:
Darknessay, есть приказ "оглушён (пауза)", id не помню, но суть в том, что у юнита в паузе именно он
  1. Не приказ, а бафф.
Вообще-то есть такой приказ.