Уроки по созданию карт и кампаний с нуля

Прикоснись к древним знаниям!
Здесь собраны циклы уроков по созданию карт, кампаний и модов для новичков и продвинутых моддеров.
Каждая плитка - это цикл уроков с навигацией между статьями.
29 1 226
19
ScorpioT1000,
А может попробуете популяризировать вот эти обучающие видео от создателя Гидеонии? www.youtube.com/watch?v=fKLRnYtsHKw&list=PLsjocV9V3nuMW2Itzp... У него 2 плейлиста с чёткими и доходчивыми обьяснениями тонкостей работы над проектами и триггерами. Сам он конечно давно ушёл из "большого варкрафта". Но его материал, как по мне, воспринимается очень даже хорошо.
38
SсRealm, думаем над всем этим. Тут то не разделы, а технически плейлисты. Они не покрывают всё, а только отобранные, подходящие как курс бойца)
21
Нужно поставить это в статьи и чтобы открывалось по запросу из поиска внутри сайта в вопросах. Чтобы новички не задавали по сто раз вопросы, на которые все уже заколебались отвечать. Мне кажется, нужно как то сами разделы сайта с инфой по варику по другому что ли сделать, может плитки сделать крупнее, картинки поставить.
Модель стелс воина тау из Warhammer 40'000: Dawn of War.
Модель
3 792
Воспроизведение легендарного, нашумевшего аркадного сайд-скроллера Flappy Bird на движке Warcraft III. Или ещё одна бесполезная технодемка на фреймах.
Карта
8 499
10
Хочу вас поздравить, это сделали ещё в 2014 www.epicwar.com/maps/240001
Но поставлю плюсик за перенос карты в Reforged
Версия 1.31.1. Хочу сделать ауру, которая например давала бы и фиксированное значение брони, и процентное, зависящее от брони владельца ауры. Хотелось бы понять принцип, по которому можно делать подобные способности (бафф-аура процентная от брони, хп, маны, урона героя).
Вопрос
7 91
7
не заметил, что тебе нужно процентное значение именно владельца ауры, а не юнита который получает ауру. Тогда все еще проще и в целом даже лучше сделать как предложил удав.
16
Самое простое, но не самое хорошее решение: сделать ауре паладина много уровней и устанавливать текущий уровень в зависимости от нужных значений, который более приближен к желаемому. До 1.29 и без мемхака\ujapi уровень защиты ты напрямую получить не сможешь, но если знаешь базовую защиту героя, защиту за едину ловкости и защиту от текущих предметов, то сможешь рассчитать текущее значение.
7
Не до конца понимаю манипуляции с группами. Можно на примере показать?
Открыть
function callback takes nothing returns nothing
...
local group auraGroup = LoadGroupHandle(...)    // группа с юнитами на которых действует аура
local group tempGroup = CreateGroup()
...
call GroupEnumUnitsInRange(tempGroup,....) 	  // собираем юнитов на которых должна действовать аура
loop		// Перебираем старую группу
	set i = BlzGroupGetSize(auraGroup) - 1
	exitwhen i < 0 
	set tempUnit = BlzGroupUnitAt(auraGroup,i)
	set oldBonus = GetSavedBonus(tempUnit)
	if not IsUnitInGroup(tempUnit,tempGroup) then 		// юнит вне зоны действия ауры
		call AddStatBonus(tempUnit,-oldBonus)
		call GroupRemoveUnit(auraGroup,tempUnit)
		call SaveStatBonus(tempUnit,0)
	else
		set newBonus = CalcNewBonus(tempUnit)	// Просчитываем новый бонус
		if newBonus != oldBonus then
			call AddStatBonus(tempUnit,newBonus - oldBonus)
			call SaveStatBonus(tempUnit,newBonus)
		endif
		call GroupRemoveUnit(tempGroup,tempUnit)	// удаляем из временной группы, что бы не проходтся по нему дважды
	endif
	
	set i = i - 1
endloop
loop	// перебираем юнитов вокруг владельца ауры, ищем на кого надо добавить эффект ауры
	set tempUnit = FirstOfGroup(tempGroup)
	exitwhen tempUnit == null
	if UnitCanHaveAura(tempUnit) then
		set newBonus = CalcNewBonus(tempUnit)
		call AddStatBonus(tempUnit,newBonus)
		call SaveStatBonus(tempUnit,newBonus)
		call GroupAddUnit(auraGroup,tempUnit)
	endif
	call GroupRemoveUnit(tempGroup,tempUnit)
endloop
call DestroyGroup(tempGroup)
...
auraGroup нужно создать и сохранить при инициализации таймера.
Система для применения способностей которые написаны на глобальных переменных.
Будет ли "оно" нормально работать?
```
function AbilityEffect takes nothing returns nothing
local integer id = GetSpellAbilityId()
if id == 'A000' then
call TriggerExecute(Mx[1])
elseif id == 'A001' then…
Вопрос
19 129
Здравствуйте, есть ли возможность удалить свою кампанию с сайта?
Вопрос
7 104
10
Albeng, вы уверены, что хотите удалить свою кампанию? Вдруг кто-то ещё захочет её пройти?
Укажите тогда, где её ещё можно скачать.