Форум HeroesWorld-а - Показать сообщение отдельно - [ВОПРОС] Как изменить спрайты?
Показать сообщение отдельно
#3
Старый 20.08.2024, 11:41
  #3
^
zhulikkulik
📖
Регистрация: 20.08.2024
Сообщения: 1
Регистрация: 20.08.2024
Сообщения: 1
По умолчанию
Re: [ВОПРОС] Как изменить спрайты?

Нужен MMArchive. В каком-то из .lod файлов есть EdObjts.txt 
В нём прописаны все объекты доступные в редакторе. Формат – название спрайта 48 нулей и единиц(красные и прозрачные клетки) 48 нулей и единиц(желтые клетки и прозрачные), а дальше ещё какие-то числа. Последние 3 числа это вроде бы тип объекта(хижина/жилище/юнит и тд), короткие группы по 8 или 12 цифр это вроде бы в какой вкладке объект будет доступен. 

Короче говоря – находишь в архиве интересные тебе спрайты (что и на что хочешь поменять) и записываешь их имена. Потом экспортируешь тхт файл в папку Data, ищешь в нём то что хочешь заменить и дублируешь эту строку. Затем находишь то чем ты хочешь заменить и копируешь только название спрайта и первые две колбасы цифр (которые две по 48). Рекомендую над своей строкой ставить комментарий вида // my custom dwelling (можно вроде и на русском, главное два слэша не забыть) чтобы потом мог его найти если надо. 
В редакторе увидишь объект рядом с тем который ты заменял. 
Объекты зашиваются в саму карту, насколько я понял, поэтому больше ничего делать не нужно. 
После того как поставил объект в редакторе – даже если убрать файл тхт из папки объект останется на карте. Но не будет доступен в списке объектов. В игре тоже будет на месте. 

Я себе сделал платных крестьян на карте таким образом. И рынок, который меняет только драг камни на золото. И лабораторию алхимика, которая на самом деле лаборатория чернокнижника.

И добавлю:
48 цифр описывают двоичную маску справа налево снизу вверх. Т.е. первые 8 цифр (слева направо в строке) это нижний ряд спрайта справа налево. Одноклеточные (да и вообще все меньше чем 8х6) спрайты считаются также. Просто они занимают не весь ряд, а первую одну-две-три клетки, но тоже справа.
zhulikkulik вне форума
Ответить с цитированием