Форум HeroesWorld-а - Показать сообщение отдельно - NHF - новые герои для Heroes V 3.1
Показать сообщение отдельно
#1327
Старый 21.06.2014, 21:08
  #1327
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: NHF - новые герои для Heroes V 3.1

RedHeavenHeroПредлагаю так: обрабатывать map.xdb, неназванным гарнизонам и заповедникам давать имя, вносить его в отдельный файл lua, который будет для каждой карты, но называться будет одинаково. В этом файле будет массив с именами, в т.ч. и теми, что дал автор. Если надо, то могу и дефолтные карты обработать, не вручную, конечно.

Добавлено через 5 минут
Таким образом, в файле Maps/Multiplayer/***/NHF-Names.lua будет примерно следующее:
	NHF_UNNAMED_OBJECTS = {
	DWARVEN_WARREN = {
		'NHF-DwarvenWarren-0001',
		'NHF-DwarvenWarren-0002',
	},
	GARRISON = {
		'gar1',
		'gar2',
		'NHF-Garrison-0001',
		'NHF-Garrison-0002',
		'NHF-Garrison-0003',
		'NHF-Garrison-0004',
	},
}
Порядковые номера можно заменить на случайные.

Добавлено через 7 минут
Для экономии памяти можно безымянные объекты в массив не вносить, а только писать количество этих объектов.
	NHF_UNNAMED_OBJECTS = {
	DWARVEN_WARREN = {
		NAMED = {
		},
		UNNAMED_N = 2,
	},
	GARRISON = {
		NAMED = {
			'gar1',
			'gar2',
		},
		UNNAMED_N = 4,
	},
}
Так объектов типа "гарнизон" вряд ли много будет. Следует ли экономить память?
Если есть желание, то стандартные тоже можешь обработать.

Добавлено через 9 минут
Вообще, для унификации потребуется одна большая функция взаимодействия с нужными объектами. Но тут дело в том, что скрипты по разному работают с объектами. Триггер прикосновения к городу, например, надо завершать при посещении и потом обновлять вновь. Триггер прикосновения для шахты этого не требует. В последней версии я уже объединил скрипт боя с городом, героем и монстрами. Он теперь универсален. Можно попробовать вынести функции на подобие классов, чтобы уменьшить нагрузку и количество скриптовых строк.
Раньше то проект собирался по кирпичикам, и разные скрипты на одну и ту же ситуацию были нормой. Сейчас же очень много похожего. Нужна унификация.

RedHeavenHero, что думаешь о том, чтобы объединить проект с частью NCF и даже созданием новых карт с мультиплеерными сценариями для этих героев?

Добавлено через 17 минут
По-хорошему, конечно, лучше, чтобы все имена хранились только с картой.
И подгружать только этот файл. Тогда и имен будет немного.

Создается массив в общем файле NHF, а в lua каждой карты будет лишь добавление в этот массив.
Dyrman вне форума
Ответить с цитированием