Преимущественно хотелось бы на ГУИ, конечно.
Что подразумевается в виду? Если кто-нибудь играл в Донт Старв, то механика ускорений по дороге сразу будет понятна. Грубо говоря, у юнита просто МС повышается, когда он передвигается по определённому типу ландшафта. Но здесь есть одно НО, - тут речь идёт уже о мили-карте 420x420 с огромным количеством одновременно находящихся юнитов и разных сложных, динамически-работающих механик, поэтому вариант в стиле "каждый раз спавнить каст-даммика и удалять бафф через время, притом ещё и отслеживая это время" выглядит малёха кукожно. И ещё один момент - допустим, в игре есть условный юнит-архитектор, который может строить эти самые дорожки (менять тип ланда). Эта холобуда должна работать в том числе на все дорожки, которые построит он, поэтому схема с областями крайне усложняется из-за этого. Я понимаю, что если учесть все вышеописанные пожелания, то задача становится довольно сложной для решения, но мне бы хотелось чисто узнать о сферических конях в вакууме, - какие вообще, даже лютейше отдалённые по оптимизированной реализации, варики существуют для осуществления всего этого.

TechnoViking, тю, ну если хочешь без периодика то ставь области где они должны бегать ускоренно, когда входят выдаёшь абилку, когда выходят - отбираешь
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
Я уже делал подобное, тоже играл в донт старв, вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть, надо выдавать абилку ботинок. Периодическим таймером выбираем всех юнитов в группу при условии что они находятся на почве и не имеют абилку ускорения, выдаём им ускорение. Другим действием выбираем всех юнитов в этой группе при условии что они находятся не на почве и удаляем абилку
9
Clamp:
А где вот это найти в редакторе?
native          SetUnitMoveSpeed    takes unit whichUnit, real newSpeed returns nothing
constant native GetUnitMoveSpeed    takes unit whichUnit returns real
constant native GetUnitDefaultMoveSpeed takes unit whichUnit returns real

Сейчас нативок больше чем есть по ссылке, но у меня нет установленного варкрафта, чтобы вытянуть common.j актуальный.

Немного ошибся, не метод сброса в дефолт, а метод узнать её дефолтное значение.
А можно как-то всё это на ГУИ переделать? [я полный 0 в джассе]

rsfghd:
Я уже делал подобное, тоже играл в донт старв, вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть, надо выдавать абилку ботинок. Периодическим таймером выбираем всех юнитов в группу при условии что они находятся на почве и не имеют абилку ускорения, выдаём им ускорение. Другим действием выбираем всех юнитов в этой группе при условии что они находятся не на почве и удаляем абилку
Ну лол, походу ЗДАРОВА СЕКУНДНЫЕ ПЕРИОДИКИ
Этого я и боялся...
28
TechnoViking, тю, ну если хочешь без периодика то ставь области где они должны бегать ускоренно, когда входят выдаёшь абилку, когда выходят - отбираешь
Принятый ответ
9
rsfghd:
TechnoViking, тю, ну если хочешь без периодика то ставь области где они должны бегать ускоренно, когда входят выдаёшь абилку, когда выходят - отбираешь
Вот терь лишь об этом и подумываю. Типа болота какие-нибудь замутить специально +\- прямоугольной формы с маслом или священную поляну с массхастом...
30
вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть
Жажду подробностей.

[я полный 0 в джассе]
9
Clamp:
вариковскими функциями изменять скорость передвижения попросту нельзя, оно такое кривое шо жуть
Жажду подробностей.

[я полный 0 в джассе]
А вот и не основа основ, у меня почти все баги фиксятся, и карта не лагает. Особых напрягов не чувствую.
Вон Создай деревню сделал чел на чистом ГУИ, и прекрасный проект, можно сказать, вышел. Выстрелил и ничего.
Для хорошей карты нужна не тонна кода и какие-то оверсложные системы, новые герои, фанфары с мишурой...
Нужна просто Идея и любовь к варику.
30
Разница между "сделать" и "сделать нормально и без сверления зубов через жопу" выражается в разнице между "знаю Jass" и "не хочу знать Jass". Многие, очень многие вещи делаются несопоставимо быстрее кодом в сравнении с убогим визуальным скриптингом. И далеко не все вещи этим визуальным скриптингом можно сделать, попробуй нанесённый урон половить например в общем случае.

Кроме того, многие вещи, которые можно сделать и так и так, кодом делаются существенно оптимальнее, как, например, твоя проблема из этого самого вопроса.
9
Я бы те кстати показал щас кой-какую интересную переписку мою с одним челом, который тут гоняет под ником "ofeerist", дабы показать до чего доводит чванливость и "война гуи и джасса". Но подобной грязью заниматься не буду.
___
Когда чеченцу от русского что-то нужно, и он пытается это сказать ему на ломаном русском, адекватный русский не будет включать дурачка и говорить "мая твая не панимаю, иди учи русский и сдавай ЕГЭ на 100 баллов". Он объяснит как может, - так, чтобы его поняли.
30
Успехов в модмейкинге и профессиональном развитии с таким подходом.

Путать рациональность и понты это надо уметь.
9
Clamp:
попробуй нанесённый урон половить например в общем случае.
Соглы, не выйдет. Или выйдет, но через тобою упомянутое место. Поэтому здесь решение проблемы оченно простое, - не надо создавать спеллов\механик, где нужно ДДС. К тому же, как по мне, это не является важным пунктом хорошей мили-карты. Стандартные спеллы или их малые видоизменения крайне неплохи. К чему изобретать велосипеды? Удивить кого-то? Заслужить похвал? Это мишура всё и фейерверки.

Clamp:
Путать рациональность и понты это надо уметь.
Да не, это я чисто так, про понты, для красного словца. К тебе не относится, ты даже зачин диалога этого начал с "предлагаю", "советую".
Просто я те грю, "как на ГУИ сделать?", а ты гришь "учи весь джасс". Ну лол, тебе же это дело двух секунд.
30
Я вижу твою текущую позицию примерно так:
Люди учатся чтобы исполнять свои задачи, а ты отказывашься от задач потому что для их исполнения нужно учиться.

Никто не говорит учить всё что Jass может, но в твоём случае есть смысл делать именно на нём, чтобы, например, не плодить группы во вред производительности.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.