Приветствую тебя, мой читатель.  Сегодня я расскажу тебе как решить тысячу и одну проблему, связанную с такими вещами как отображение иконок героев в мультибоарде, награды за уничтожение юнитов, отображение иконок предметов в мультибоарде и все, требующее привязки каких-либо значений к определенным объектам.
 
 
  
 Итак, самый простой способ решить все вышеперечисленные проблемы, как понятно из названия темы, создание синхронизации данных, проще говоря - базы данных.  К любому объекту можно привязать неограниченное количество данных, но мы, в нашем примере, ограничимся синхронизацией двух показателей, типа юнита и строки к иконке. 
  
  
 Итак, как сказанно в предисловии - синхронизировать мы будем иконки по типу юнита.  Создаем в редакторе переменных следующие строки. 
  DB_Heroes[array] - 
Переменная по типу "тип объекта" с пометкой "массив"  DB_HeroesIcons[array] - 
Переменная по типу "строка" с пометкой "массив"  далее, в триггер, можно при инициализации карты, можно в отдельный триггер на прошествие времени - инициализировать базу данных следующим образом. 
 К примеру, у нас будет всего четыре героя, а именно:
 Lich, Tauren Chieftan, Paladin, Demon Hunter  В триггер добавляем следующие строки. 
 set DB_Heroes[1] = Lich 
 set DB_Heroes[2] = Tauren Chieftan 
 set DB_Heroes[3] = Paladin 
 set DB_Heroes[4] = Demon Hunter 
 Для удобства ставим пустую коммент строку. 
 set DB_HeroesIcons[1] = ReplaceableTextures\CommandButtons\BTNLichVersion2.blp 
 set DB_HeroesIcons[2] = ReplaceableTextures\CommandButtons\BTNHeroTaurenChieftain.blp 
 set DB_HeroesIcons[3] = ReplaceableTextures\CommandButtons\BTNHeroPaladin.blp 
 set DB_HeroesIcons[4] = ReplaceableTextures\CommandButtons\BTNHeroDemonHunter.blp 
 Принципиально важно лишь то, что числа массива должны совпадать, это и служит синхронизацией данных.  Теперь, допустим, можно развить тему и, например, добавить в ники игроков имена нужных героев, но не те, что есть по умолчанию (ссылка "Hero Name") а, сокращенные варианты или, допусим, раскрашенные. 
 Потребуется еще одна переменная
 
 DB_HeroesNames[array] -переменная по типу "Строка", с пометкой "массив".  Раздаем значения:
 
 
 set DB_HeroesNames[1] = Леденец 
 set DB_HeroesNames[2] = Рогатый 
 set DB_HeroesNames[3] = Cвятоша 
 set DB_HeroesNames[4] = Илидашко 
 
 
 В таком случае мы синхронизируем все иконки и запишем основной аттрибут каждого героя.  
  Теперь о работе с базами данных. 
 В основном это делается с помощью циклов
 (For loop integer DB from 1 to HeroDatabaseSize) где HeroDatabaseSize целочисленная переменная, ссылается на максимальный размер базы героев, для нейтральных крипов - отдельное значение, для предемтов - отдельное и так далее. 
 DB - так же, целочисленная переменная. 
 На примере с иконками героев и добавлением их в мультибоард:[/color][/b] 
 
 Generic unit продает боевую единицу  Boolean Comparison: Sold unit is Герой = да. 
 Actions: 
 For Each Integer DB from 1 to HeroesDatabaseSize do actions: 
 if\then\else: 
 Unit-type of sold unit = DB_Heroes[DB] 
 then: 
 Меню Паузы: установить значение для строки (нужная строка) в столбце (нужный столбец) = DB_HeroesIcons[DB]
 
 Теперь, в этом же триггере - добавим к имени игрока - зарезервированное "условное" имя героя следующей строкой: 
 Игрок: Установить имя игрока: (имя игрока) + DB_HeroesNames[DB] 
 К одному объекту можно привязать хоть две сотни разнообразных значений. 
 Например что бы зарезервировать награду за всех нейтралов к каждому базе нейтралов добавляется по 2 переменных, из рандомного значения между которыми и будет выдаваться награда.  
  Благодарю за внимание, читатель. До скорых встреч.