Алгоритмы, Наработки и Способности
Способ реализации:
vJass
Тип:
Способность
Версия Warcraft:
1.26а
Хирайшин но Дзюцу (Hiraishin no Jutsu, "Техника летающего бога грома") — Джикукан Ниндзюцу, разработанное Нидайме Хокаге и впоследствии используемое Йондайме Хокаге. Благодаря этой технике последний получил прозвище "Жёлтая молния Конохи" ("Konoha no Kiiroi Senko"). При этой технике пользователь двигается невероятно быстро от одного места к другому и наносит урон всем тем кто попал под эффект
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
Проясню кое-что для тебя, это не "двигается невероятно быстро от одного места к другому", это телепортация к печати - пространственно-временное ниндзюцу подробнее...
у тебя же никаких печатей нет, соответственно техникой летящего бога грома назвать это нельзя
способ реализации не Jass, а vJass, библиотеки и возможность объявлять глобалки прямо в коде это фишки вджасса, сам спелл хорош, только настройки урона и периодичности урона вынести бы в очевидное место

проверил спелл, не так уж и хорош как казался, у тебя карта зависает/крашается если кастануть спелл у границы карты

Загруженные файлы
14
rsfghd:
Проясню кое-что для тебя, это не "двигается невероятно быстро от одного места к другому", это телепортация к печати - пространственно-временное ниндзюцу подробнее...
у тебя же никаких печатей нет, соответственно техникой летящего бога грома назвать это нельзя
способ реализации не Jass, а vJass, библиотеки и возможность объявлять глобалки прямо в коде это фишки вджасса, сам спелл хорош, только настройки урона и периодичности урона вынести бы в очевидное место

проверил спелл, не так уж и хорош как казался, у тебя карта зависает/крашается если кастануть спелл у границы карты
я ее еле как сделал и по моему для моего уровня знаний нет так уж плохо, насчет печатей, я не имею модельки печати, и этот спелл я увидел на карте BvO New World 5.0 и там не было печатей или другого и там спелл применялся на юнита а не на точку я так сказать создал и изменил чутка то что увидел и да, какой чел станет делать карту убрав границы? я нигде такого не видел да, есть такие люди которые так делают и может даже есть такие карты не отрицаю, а так сойдет для новичков вроде меня

rsfghd:
Проясню кое-что для тебя, это не "двигается невероятно быстро от одного места к другому", это телепортация к печати - пространственно-временное ниндзюцу подробнее...
у тебя же никаких печатей нет, соответственно техникой летящего бога грома назвать это нельзя
способ реализации не Jass, а vJass, библиотеки и возможность объявлять глобалки прямо в коде это фишки вджасса, сам спелл хорош, только настройки урона и периодичности урона вынести бы в очевидное место

проверил спелл, не так уж и хорош как казался, у тебя карта зависает/крашается если кастануть спелл у границы карты
и что же тебя не устроило в этом спеле кроме того что игра выдает краш при столкновении с границей?
28
Гуванч, ну хорошо бы на структуру всё перенести и не создавать/уничтожать группу для перебора каждый раз, а юзать темповую глобальную, а так же починить границы, и дело не в том "какой чел станет делать карту убрав границы?", а в том, что человек может поставить радиус действия не 500, а 1000 к примеру или 1500
Ответы (16)
15
rsfghd, А я в сохранении группы в хэш-таблицу создаю группу), потом в таймере выгружаю, и если нужно то пересохраняю в таймере в хэш.
28
globals
    constant group TempGroup = CreateGroup
endglobals
15
rsfghd, А что насчёт удаления? Нужно ли её как то удалять? Объявлять сразу в глобалках или в триггере с нужным спеллом? ( пишу спеллы в scope )
28
local unit u

call GroupEnumUnitsInRect( TempGroup, bj_mapInitialPlayableArea, null )

loop
	set u = FirstOfGroup( TempGroup )
	exitwhen u == null
	call GroupRemoveUnit( TempGroup )

	if UnitAlive( u ) then
		call KillUnit( u )
	endif
endloop
call GroupEnumUnitsInRect( TempGroup, bj_mapInitialPlayableArea, null )
call ForGroup( TempGroup, function Somefunc)
call GroupClear( TempGroup )
28
LastUchiha, объявлять желательно приватной на каждый скоуп чтобы не было различных несостыковок, когда дамажишь юнитов в радиусе и в другом триггере на получения урона выбираешь юнитов вокруг мёртвых/продамаженных и тоже что-то делаешь
15
rsfghd, А если таких переменных накопится очень много, повлияет ли это сильно на производительность?
15
LastUchiha, И я так понимаю создаются они таким образом в начале игры, и дестроить их не нужно получается ?
28
LastUchiha, я уже кинул примеры работы с группами, ничего уничтожать и обнулять не надо, после фор група очищаешь группу, после цикла ничего очищать (и обнулять переменную юнита) не нужно. Цикл лучше
15
rsfghd, И всё же не понимаю, зачем создавать группу в начале игры, если можно создать её в начале каста спелла, и удалить в конце каста спелла. Разве так не будет оптимизированей?
28
LastUchiha, нет, не будет, потому что на постоянное создание и удаление тоже уходят какие-то микросекунды
15
rsfghd, Ладно. У меня просто чувство такое что переменные с созданной групой или таймером которые висят на протяжении всей игры, могут негативно влиять на игру.
15
rsfghd, Ну локалки обычно создают и удаляют, значит группа удалена. А глобалки же постоянно висят с созданными группами если их юзать как темповые.
5
Гуванч:
и что же тебя не устроило в этом спеле кроме того что игра выдает краш при столкновении с границей?
Ну этого уже достаточно, чтобы сказать что способность получилась провальной.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.