давно интересовал такой же вопрос. однако, все большую часть типов кажется просто так ввели. так они делают почти одно и то же: урон является либо физическим (понижается защитой) или магическим (не понижается защита). физический урон делает тип урона "обычный", а остальные кажется маг. тестить просто нечего, ибо не знаю на что они влияют.
пробовал что-то давно, но забил. тут большие комбинации (тут еще и типы атаки и типы защиты и защитных абилок)
есть что-то похожее ссылка<= но тут я типы проверял
Bergi_Bear, ну так бд не сложно написать. у тебя же не будет 10000к героев правильно?
я тоже некоторые поля использую в 1.26, например вотговорят это поля влияет на атаку, но мне не понятно как. считаю для здании бесполезный параметр. использую например для здании (для растении храню время строительства, для здании размеры)
об этом написано в статье, размер должен быть кратен 128
плюс у триггерных нативок еще смещение от заданной оси, поэтому я всегда юзал dummy-cast предмета нежити, которая наводит порчи. она более точная.
да, отсчет действительно начинает не от позиции юнита или каста. юнит или цель каста не будет находится в центре порчи, тк там координаты ищут ближайшие значения, если координата будет 43, то ближайшими координатами будут 0 и 64. там же крайние точки клетки берутся каждые 128 (или 256, точно не могу сказать, говорю на угад).
//точечно add/remove blight (заполняется клетка 128х128, а если быть точнее 256x256)
function DummyCastPointBlight takes player whichPlayer, real cx, real cy, real cx0, real cy0, boolean addBlight returns nothing
local unit dummy = CreateUnit( whichPlayer, 'h000', cx, cy, 0 )
//теперь нужно создать итем. Используем стандарт. способность предмета "наведение порчи".
//Дело в том, что эта способность используется только в предмете
if addBlight then //если нужно добавить порчу, создаем итем наводящий порчу
call UnitAddItemByIdSwapped( 'spsh', dummy )
else
call UnitAddItemByIdSwapped( 'pmna', dummy )
endif
call UnitUseItemPoint( dummy, bj_lastCreatedItem, cx0, cy0 )
//Для устранения утечки (остается не удаленным юнит и предмет) можно использовать таймеры
//для удаления использовал триггер DeathDummy
endfunction
//круги с маленьким радиусом мало будут похожи на круг
function SetBlightCircle takes player whichPlayer, real cx, real cy, real radius, boolean addBlight returns nothing
local real Rad = RealRadius128(radius)
local real minx = cx-Rad
local real maxx = cx+Rad
local real miny = cy-Rad
local real maxy = cy+Rad
//начинаем с правого верхнего края
local real x0 = minx
local real y0 = maxy
//центр крайнего правого-верхнего квадратика
local real cx0 = minx+64.0
local real cy0 = maxy-64.0
loop
exitwhen cx0>maxx
set cy0 = maxy-64.0
loop
exitwhen cy0<miny
call MoveRectTo(udg_Rect_32x32[4],cx0,cy0)
if RectContainsCircle(udg_Rect_32x32[4], cx,cy, radius)then //если крайние точки и центр квадрата попадают в круг, начит
//call BJDebugMsg("Проверка прошла")
//call SetBlightPoint(whichPlayer, cx0, cy0, addBlight)
call DummyCastPointBlight(whichPlayer, cx, cy, cx0, cy0, addBlight)
else
//call BJDebugMsg("Проверка не прошла")
endif
set cy0 = cy0-128.0
endloop
set cx0 = cx0 + 128.0
endloop
//call BJDebugMsg("Проверка")
endfunction
//для того, чтобы цель находилась в центре rect. вам нужен другой алгоритм. у меня код начинает с краю от цели
function SetBlightRectangle takes player whichPlayer, rect R, boolean addBlight returns nothing
//local real centx = GetRectCenterX(R)
//local real centy = GetRectCenterY(R)
local real maxx = RealCoord128(GetRectMaxX(R))
local real minx = RealCoord128(GetRectMinX(R))
local real maxy = RealCoord128(GetRectMaxY(R))
local real miny = RealCoord128(GetRectMinY(R))
//начинаем с правого верхнего края
local real x0 = minx
local real y0 = maxy
//центр крайнего правого-верхнего квадратика
local real cx0 = minx+64.0
local real cy0 = maxy-64.0
loop
exitwhen cx0>maxx
set cy0 = maxy-64.0
loop
exitwhen cy0<miny
//call SetBlightPoint(whichPlayer, cx0, cy0, addBlight)
call DummyCastPointBlight(whichPlayer, cx0, cy0, cx0, cy0, addBlight)
set cy0 = cy0-128.0
endloop
set cx0 = cx0 + 128.0
endloop
endfunction
кастует точечно, тк если брать размеры абилы больше 128, то начинает просто кастовать круг
в ро можно задать координаты иконкам итемов. пробуйте.
ро => предметы => положение кнопки x/y
единственное, что если там в магазине имеется другой итем точно с такими же координатами, то итем встает рядом.
можно. но смотря что вы хотите сделать (у вас триггер какой-то непонятный).
тут просто ресурсо-затратно вам показывать.
последовательность приказов никак нельзя задать как через shift, это не отслеживается в 1.26. но можно по-другому сделать. это если хотите сделать компьютерного бота
есть проблемы: надо проверять
есть ли ресурсы на здание
занят ли участок, чтобы туда отдавать приказ тематема2раздел 3.3
пройденное расстояние. пока юнит туда добежит, вы можете дать новый приказ. таймер или вэйты вам ничего не дают. надо подождать пока выполнит текущий приказ.
когда завершает строительство ищем новый участок, и даем приказ.
PT153, мне просто кажется странным, что они сделали же просмотрщик текстов к описанию абилок и итемов. это же плюс. однако, с редактором триггеров ничего не сделали. ну надеюсь это только начало (вижу что много чего появляется), будут потихоньку вводить. А если нет, костыли пойдут PT153, я уороче проголосовал
PT153, то есть они до сих пор не сделали дебага и плюшки в виде удобства работы с кодом (шрифт, поиск, библиотека нативок). мне с мелким шрифтом и ярким фоном очень не приятно работать долго.
В общем, если добавить спэлл 'Alms' (боты) с отрицательным значением, то эффекта нет.
отрицательные значения не убавляют никак
Если использовать 'Aasl' (аура замедления (торнадо)), то с юнитами происходит странное. Оно то работает, но юниты теперь не умеют нормально ходить в группе. То есть они идут в одну точку, а не выстраиваются, и вообще происходит странное.
это надо протестировать. влияет ли как-то скорость на строй. мб только способность все разрушает.
Если изменять скорость юнита через функцию SetUnitMoveSpeed от текущего значения, а потом возвращать, то не будет каких-то неточностей?
SetUnitMoveSpeed работает норм, но есть ограничение это константы. и больше положенного не задашь. также багаются с AIms темалучше вместо Aims триггерно прибавлять при получении, и триггерно убавлять
морф. Ищем в редакторе абилку с морфом, пробуем через нее.
Есть еще руна + морф <= читаем статьи
при использовании триггерно даем руну с морфом, и автоматом превращается в нужного юнита
Раньше думал, что эта функция SetUnitLookAt только для поворота головы, но оказалось можно сделать больше. К сожалению, не опробую этот метод по причине недостатка времени. Так понимаю, тут две кости можно только вращать (даже если создам или переименую в модели кости)?
все разжевано в этой теметам ссылка на наработку скорпа лежит.
БезликийСектант, ищи на форуме воскрешение героя, смотри в статьях (там есть примерчик) недавно задавали такой вопрос, вы, новички, тут каждую неделю задаете один и тот же вопрос. что можно просто игнор
Ред. MpW
» WarCraft 3 / Таблица типов урона и атаки
есть что-то похожее ссылка <= но тут я типы проверял
Ред. MpW
» WarCraft 3 / Получить название Юнита по его Id
» WarCraft 3 / Получить название Юнита по его Id
Ред. MpW
» WarCraft 3 / Идеальная система опыта и добычи золота в мультиплеере
» WarCraft 3 / Warcraft 3 1.31 Подсветка кода
» WarCraft 3 / Официально стал доступен PTR 1.31
Ред. MpW
» WarCraft 3 / Как сделать так что бы доп декорация поднималась в высоту
мб надо сделать модель, которая будет статически висеть над землей?
Ред. MpW
» WarCraft 3 / Проблема с размером текстуры порчи
плюс у триггерных нативок еще смещение от заданной оси, поэтому я всегда юзал dummy-cast предмета нежити, которая наводит порчи. она более точная.
» WarCraft 3 / КАК УБРАТЬ ЛИМИТ НА КОЛИЧЕСТВО ТЕКСТУР В КАРТЕ
Ред. MpW
» WarCraft 3 / Как установить слот продажи для предмета
ро => предметы => положение кнопки x/y
единственное, что если там в магазине имеется другой итем точно с такими же координатами, то итем встает рядом.
Ред. MpW
» WarCraft 3 / Как сделать скил рики котрый телепортирует за спину и бьет?
https://www.xgm.guru/forum/showthread.php?t=57266
https://www.xgm.guru/forum/showthread.php?t=48690
и еще не забывайте попробовал лицо (facing unit) перевернуть к противнику
Ред. MpW
» WarCraft 3 / Как приказать свежо созданному строить не одно зданий.
тут просто ресурсо-затратно вам показывать.
Ред. MpW
» WarCraft 3 / Официально стал доступен PTR 1.31
PT153, я уороче проголосовал
Ред. MpW
» WarCraft 3 / Как посадить юнита в корабль? (в редакторе)
или способности транспорта (дирижабля корабли) => пересаживаем юнита в транспорт.
Ред. MpW
» WarCraft 3 / Официально стал доступен PTR 1.31
Ред. MpW
» WarCraft 3 / Изменить скорость перемещения юнита
Ред. MpW
» WarCraft 3 / Официально стал доступен PTR 1.31
Ред. MpW
» WarCraft 3 / Как создать предмет который на время меняет юнита на другова
Есть еще руна + морф <= читаем статьи
при использовании триггерно даем руну с морфом, и автоматом превращается в нужного юнита
» WarCraft 3 / Официально стал доступен PTR 1.31
Ред. MpW
» WarCraft 3 / Официально стал доступен PTR 1.31
если так будут развиваться, то придется лицензию купать, и переехать на новые патчи
» Мир безумного / WoW теперь и на Windows 7 поддерживает DirectX 12
Ред. MpW
» WarCraft 3 / фунция SetUnitLookAt
все разжевано в этой теме там ссылка на наработку скорпа лежит.
» WarCraft 3 / Создание формации
Ред. MpW
» WarCraft 3 / Таверна Героев
недавно задавали такой вопрос, вы, новички, тут каждую неделю задаете один и тот же вопрос. что можно просто игнор